感谢楼上的兄弟的帮助,我再叙述一下,如
t0=10 这个是可以随便输入
t1:t2:t3=1:2:3 这是分配的比例
t4 是余量
如果t0=10的话,t1=1 t2=2 t3=3 t4=4
t1 t2 t3 t4 得出的方法
以最大量进行分配,这里10除6,整数值为1,则以1倍进行分配,余量为4 
自动分配好后,用户可以手动将这个余量自由分配到t1   t2   t3中,这时t1   t2   t3无需进行比例分配了,如果t1值改为3后,则余量自动变为2,直到余量变为0后才可以被提交,否则不可以提交

解决方案 »

  1.   

    <script   language=javascript> 
    function sub(){
    var sum,n1,n2,n3,res;
    sum = t0.value-0;
    n1 = 1;
    n2 = 2;
    n3 = 3;res = sum % (n1 + n2 + n3);
    tim = (sum - res) / (n1 + n2 + n3);
    t1.value = n1*tim;
    t2.value = n2*tim;
    t3.value = n3*tim;
    t4.value = res;
    if(res == 0){
    alert("yes");
    }else{
    alert("no");
    }
    }
    </script>
    <input   type="text"   name="t0"   /> 
            </p> 
            <p> 
                1 
                <input   type="text"   name="t1"   /> 
                2 
                <input   type="text"   name="t2"   /> 
                3 
                <input   type="text"   name="t3"   /> 
                4 
                <input   type="text"   name="t4"   /> <input type="button" onclick = "sub()">
    哈哈,貌似这20分是我的了,前三个空的比例可由n1,n2,n3来修改
      

  2.   

    感谢楼上的兄弟,
    没有达到要求,
    要求在t0输入数值时 t1 t2 t3 按分配会自动输入的,t4自己得出余量,然后可以手动进行t1 t2 t3输入,直到余量为0,才可以被提交,谢谢了。
      

  3.   

    res = sum % (n1 + n2 + n3);
    这个不应该这么写吧,res = sum % 6;是要看sum减去6的最大倍数后得到的就是res的值
      

  4.   

    res = sum % 6;
    tim = (sum - res) / 6;
    t1.value = n1*tim;
    t2.value = n2*tim;
    t3.value = n3*tim;
    t4.value = res;
      

  5.   

    <script language=javascript>function sub(){

    var sum,n1,n2,n3,res;
    sum = t0.value-0;
    n1 = 1;
    n2 = 2;
    n3 = 3; res = sum % (n1 + n2 + n3);
    tim = (sum - res) / (n1 + n2 + n3);
    t1.value = n1*tim;
    t2.value = n2*tim;
    t3.value = n3*tim;
    t4.value = res;

    }
    function st() {
    var sum,n1,n2,n3,res;
    sum = t0.value-0;
    n1 = t1.value-0;
    n2 = t2.value-0;
    n3 = t3.value-0;
    t4.value = sum - n1 - n2 - n3;
    }
    function s() {
    if(t4.value == "0"){
    alert("yes");
    }else{
    alert("no");
    }
    }
    </script>
    <input type="text" name="t0" onchange = "sub()">
    <br>
                1 
    <input type="text" name="t1" onchange = "st()">
                2 
    <input type="text" name="t2" onchange = "st()">
                3 
    <input type="text" name="t3" onchange = "st()">
                4 
    <input type="text" name="t4"><input type="button" onclick = "s()">
    哈哈,我就不信搞不定,写得比较匆忙,要是还有问题来我博客讨论下
    http://blog.csdn.net/tiandaqian/archive/2008/02/21/2110744.aspx