本帖最后由 microcoy 于 2013-03-29 16:59:09 编辑

解决方案 »

  1.   

    给采样的select加上id=snamewindow.onload = function(){
        var testType = document.getElementById('sname').value;
        var amount = document.getElementById('amount').value;
        var result;
        if(testType == 0){
            if(amount ==50){
                result = 1;
            }
        }
        if(testType == 1){
            if(amount == 0 || amount==''){
                result = 0;
            }
        }
        if(testType == 2){
            if(amount == 12){
                result = 1;
            }
        }
        document.getElementById('result').value = result;
    }
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function check(a){
    if(a.value==""){
    alert("合格");
    return true;
    }
    var an=parseInt(a.value);
    if(an!=a.value){
    alert("输入不合法");
    return false;
    }
    var se=document.getElementById("sel");
    var sen=se[se.selectedIndex].value;
    if(an<=parseInt(sen)){
    alert("合格");
    }else{
    alert("不合格");
    }
    }
    </script>
    </head><body>
    <input type="text" onblur="check(this)">
    <select id="sel">
    <option value="12"><12</option>
    <option value="22"><22</option>
    <option value="32"><32</option>
    </select>
    </body>
    </html>
    大体这样试试
    不很明白你的意思
      

  3.   

    LZ参考一下<html>
    <head>
    <title>aaa</title>
    </head>
    <script type="text/javascript">
    function check(){
    var value = document.getElementById("amount").value;
    if (value > 30){
    document.getElementById("select").options[1].selected = true;
    }else{
    document.getElementById("select").options[0].selected = true;
    }
    }
    </script><body>
    <table width="100%" border="0"  cellpadding="0" cellspacing="0">
    <tr>
    <td width="10%"  > 细菌数量</td>
    <td ><input name="amount" class="text" type="text" id="amount" value="" onChange="check()"/></td>
    </tr>
    <tr>
    <td width="10%"  > 检测结果</td>
    <td ><select class="select" name="result" id="select">
    <option  value="0">-合格-</option>
    <option  value="1">-不合格-</option>
    </select>
    </td>
    </tr>
    </table></body>
    </html>
      

  4.   

    楼上的可能是笔误,我修改了你思路的代码如下,可是还是错误,不知何故:
    <script language="javascript">
    window.onload = function(){
        var testType = document.getElementById('sname').value;
        var amount = document.getElementById('amount').value;
        var result;
        if(sname == 0){
            if(amount >= 30){
                result = 1;
            }
        }
        if(sname == 1){
            if(amount == 0 || amount==''){
                result = 0;
            }
        }
        if(sname == 2){
            if(amount != 0){
                result = 1;
            }
        }
        document.getElementById('result').value = result;
    }
    </script>
      

  5.   

    我没有刷新,呵呵,应该是2楼functionsub的思路
      

  6.   

    不知道你是不要求每次输入跟选择的时候才会出结果及格或者不及格。因为我看了你的代码,里面是有PHP的代码的,所以我以为你这是进页面的时候那些值会从后台传过来,所以这么写的。至于你说的没成功,你看了我给你说的给选择方式的select标签加上id的话了吗?
      

  7.   


    结果的select也加上id=result啊。。我这代码只会在页面加载完毕了以后根据PHP那边传过来的值去改变一下结果。要是想每次有操作的时候都调用,就给他封装成一个函数,每次操作的时候调用一下就可以了。
      

  8.   


    这跟php没有关系的,我也不需要传值
      

  9.   

    你能说说你到底要在什么时候去选择合格跟不合格么??是先有细菌数量,然后选采样方式,然后自动选择合格不合格?还是先选采样方式,再填细菌数量,然后自动选择合格不合格?还是无论是选择采样方式,还是输入细菌数量的时候都自选择合格不合格??你代码里一堆PHP的代码,还有判断select是否选中的,能不让人误解么?
      

  10.   


    <table width="100%" border="0"  cellpadding="0" cellspacing="0">
        <input name="type" type="hidden" id="type" value="1">
    <tr>
      <td width="10%"  >日期</td>
              <td ><input readonly name="cdate" type="text" id="cdate" class="text" onfocus="calendar()" /></td>
            </tr>
          <tr><td width="10%"  >房间</td>
              <td ><input name="room" class="text" type="text" id="room" /></td>
            </tr>
    <tr><td width="10%"  >采样</td>
              <td ><select class="select" name="sname">
      <option value="0">-环境-</option>
      <option value="1">-笼具/料盒-</option>
      <option value="2">-笼具-</option>
         </select></td>
            </tr>
            <tr>
              <td width="10%"  > 检测方法</td>
              <td ><select class="select" name="method">
      <option value="0">-沉降法-</option>
      <option value="1">-SS直接划线-</option>
         </select></td>
            </tr><tr>
              <td width="10%"  > 细菌数量</td>
              <td ><input name="amount" class="text" type="text" id="amount" /></td>
            </tr><tr>
              <td width="10%"  > 检测结果</td>
              <td ><select class="select" name="result">
      <option value="0">-合格-</option>
      <option value="1">-不合格-</option>
         </select></td>
            </tr><tr><td width="10%"  >消毒日期</td>
              <td ><input name="xdate" class="text" type="text" id="xdate" onfocus="calendar()"/></td>
            </tr>
            <tr>
      <td>备注</td>
      <td colspan="3">
      <textarea style="width:30%" name="re" rows="2"><?php if(isset($de['re'])){echo $de['re'];}?></textarea>   </td>
             </tr>
              <tr> 
                <td> </td>
                <td> 
                  <input class="btn" type="submit" name="cc" value="提交"></td>
              </tr>
          </table>我把代码重新不使用php判断(因为我的新添加页面和修改页面为同一个,所以中间有一些php代码,现在去除了)贴上,我是:先选采样方式,再填细菌数量,然后自动选择合格不合格,这次有没有说清楚?
      

  11.   

    <table width="100%" border="0"  cellpadding="0" cellspacing="0">
        <input name="type" type="hidden" id="type" value="1">
            <tr>
              <td width="10%"  >日期</td>
              <td ><input readonly name="cdate" type="text" id="cdate" class="text" onfocus="calendar()" /></td>
            </tr>
              <tr><td width="10%"  >房间</td>
              <td ><input name="room" class="text" type="text" id="room" /></td>
            </tr>
            <tr><td width="10%"  >采样</td>
              <td ><select class="select" name="sname">
                  <option value="0">-环境-</option>
                  <option value="1">-笼具/料盒-</option>
                  <option value="2">-笼具-</option>
                    </select></td>
            </tr>
            <tr>
              <td width="10%"  > 检测方法</td>
              <td ><select class="select" name="method">
                  <option value="0">-沉降法-</option>
                  <option value="1">-SS直接划线-</option>
                    </select></td>
            </tr><tr>
              <td width="10%"  > 细菌数量</td>
              <td ><input name="amount" class="text" type="text" id="amount" /></td>
            </tr><tr>
              <td width="10%"  > 检测结果</td>
              <td ><select class="select" name="result">
                  <option value="0">-合格-</option>
                  <option value="1">-不合格-</option>
                    </select></td>
            </tr><tr><td width="10%"  >消毒日期</td>
              <td ><input name="xdate" class="text" type="text" id="xdate" onfocus="calendar()"/></td>
            </tr>
            <tr>
                  <td>备注</td>
                  <td colspan="3">
                  <textarea style="width:30%" name="re" rows="2"><?php if(isset($de['re'])){echo $de['re'];}?></textarea>              </td>
                </tr>
              <tr> 
                <td> </td>
                <td> 
                  <input class="btn" type="submit" name="cc" value="提交"></td>
              </tr>
          </table>
    <script type="text/javascript">
    document.getElementById('amount').keyup = function(){
        var testType = document.getElementById('sname').value;
        var amount = this.value;
        var result;
        if(sname == 0){
            if(amount >= 30){
                result = 1;
            }
        }else if(sname == 1){
            if(amount == 0 || amount==''){
                result = 0;
            }
        }else if(sname == 2){
            if(amount != 0){
                result = 1;
            }
        }
        document.getElementById('result').value = result;
    }
    </script>
    选择采样方式以后,填写细菌数量,自动选择结果。
      

  12.   


    <script type="text/javascript">
    document.getElementById('amount').onkeyup = function(){
        var testType = document.getElementById('sname').value;
        var amount = this.value;
        var result;
        if(sname == 0){
            if(amount >= 30){
                result = 1;
            }
        }else if(sname == 1){
            if(amount == 0 || amount==''){
                result = 0;
            }
        }else if(sname == 2){
            if(amount != 0){
                result = 1;
            }
        }
        document.getElementById('result').value = result;
    }
    </script>
    少写了个on。。jquery用多了伤不起啊。。
      

  13.   


    先选采样方式,再填细菌数量,然后自动选择合格不合格,选择采样方式和填写细菌数量作为两个判断标准,是逻辑和(and)的关系,补充一点!
      

  14.   

    <table width="100%" border="0"  cellpadding="0" cellspacing="0">
        <input name="type" type="hidden" id="type" value="1">
            <tr>
              <td width="10%"  >日期</td>
              <td ><input readonly name="cdate" type="text" id="cdate" class="text" onfocus="calendar()" /></td>
            </tr>
              <tr><td width="10%"  >房间</td>
              <td ><input name="room" class="text" type="text" id="room" /></td>
            </tr>
            <tr><td width="10%"  >采样</td>
              <td ><select class="select" name="sname">
                  <option value="0">-环境-</option>
                  <option value="1">-笼具/料盒-</option>
                  <option value="2">-笼具-</option>
                    </select></td>
            </tr>
            <tr>
              <td width="10%"  > 检测方法</td>
              <td ><select class="select" name="method">
                  <option value="0">-沉降法-</option>
                  <option value="1">-SS直接划线-</option>
                    </select></td>
            </tr><tr>
              <td width="10%"  > 细菌数量</td>
              <td ><input name="amount" class="text" type="text" id="amount" /></td>
            </tr><tr>
              <td width="10%"  > 检测结果</td>
              <td ><select class="select" name="result" id="result">
                  <option value="0">-合格-</option>
                  <option value="1">-不合格-</option>
                    </select></td>
            </tr><tr><td width="10%"  >消毒日期</td>
              <td ><input name="xdate" class="text" type="text" id="xdate" onfocus="calendar()"/></td>
            </tr>
            <tr>
                  <td>备注</td>
                  <td colspan="3">
                  <textarea style="width:30%" name="re" rows="2">/textarea>              </td>
                </tr>
              <tr> 
                <td> </td>
                <td> 
                  <input class="btn" type="submit" name="cc" value="提交"></td>
              </tr>
          </table>
    <script type="text/javascript">
    document.getElementById('amount').onkeyup = function(){
        var testType = document.getElementById('sname').value;
        var amount = this.value;
        var result;
        if(sname == 0){
            if(amount >= 30){
                result = 1;
            }
        }else if(sname == 1){
            if(amount == 0 || amount==''){
                result = 0;
            }
        }else if(sname == 2){
            if(amount != 0){
                result = 1;
            }
        }
        document.getElementById('result').value = result;
    }
    </script>以上代码应该没问题了。
      

  15.   

    这下肯定没问题了。
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>我了个去</title>
    </head>
    <body>
    <table width="100%" border="0"  cellpadding="0" cellspacing="0">
        <input name="type" type="hidden" id="type" value="1">
            <tr>
              <td width="10%"  >日期</td>
              <td ><input readonly name="cdate" type="text" id="cdate" class="text" onfocus="calendar()" /></td>
            </tr>
              <tr><td width="10%"  >房间</td>
              <td ><input name="room" class="text" type="text" id="room" /></td>
            </tr>
            <tr><td width="10%"  >采样</td>
              <td ><select class="select" name="sname" id="sname">
                  <option value="0">-环境-</option>
                  <option value="1">-笼具/料盒-</option>
                  <option value="2">-笼具-</option>
                    </select></td>
            </tr>
            <tr>
              <td width="10%"  > 检测方法</td>
              <td ><select class="select" name="method">
                  <option value="0">-沉降法-</option>
                  <option value="1">-SS直接划线-</option>
                    </select></td>
            </tr><tr>
              <td width="10%"  > 细菌数量</td>
              <td ><input name="amount" class="text" type="text" id="amount" /></td>
            </tr><tr>
              <td width="10%"  > 检测结果</td>
              <td ><select class="select" name="result" id="result">
                  <option value="0">-合格-</option>
                  <option value="1">-不合格-</option>
                    </select></td>
            </tr><tr><td width="10%"  >消毒日期</td>
              <td ><input name="xdate" class="text" type="text" id="xdate" onfocus="calendar()"/></td>
            </tr>
            <tr>
                  <td>备注</td>
                  <td colspan="3">
                  <textarea style="width:30%" name="re" rows="2"></textarea></td>
                </tr>
              <tr> 
                <td> </td>
                <td> 
                  <input class="btn" type="submit" name="cc" value="提交"></td>
              </tr>
          </table>
    <script type="text/javascript">
    window.onload = function(){
        document.getElementById('amount').onkeyup = function(){
            var testType = document.getElementById('sname').value;
            var amount = parseInt(this.value);
            var result;
            if(testType == '0'){
                if(amount >= 30){
                    result = 1;
                }
            }else if(testType == '1'){
                if(amount == 0 || amount==''){
                    result = 0;
                }
            }else if(testType == '2'){
                if(amount != 0){
                    result = 1;
                }
            }
            document.getElementById('result').value = result;
        }
    }
    </script>
    </body>
    </html>
      

  16.   

    。以下为最终版
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>我了个去</title>
    </head>
    <body>
    <table width="100%" border="0"  cellpadding="0" cellspacing="0">
        <input name="type" type="hidden" id="type" value="1">
            <tr>
              <td width="10%"  >日期</td>
              <td ><input readonly name="cdate" type="text" id="cdate" class="text" onfocus="calendar()" /></td>
            </tr>
              <tr><td width="10%"  >房间</td>
              <td ><input name="room" class="text" type="text" id="room" /></td>
            </tr>
            <tr><td width="10%"  >采样</td>
              <td ><select class="select" name="sname" id="sname">
                  <option value="0">-环境-</option>
                  <option value="1">-笼具/料盒-</option>
                  <option value="2">-笼具-</option>
                    </select></td>
            </tr>
            <tr>
              <td width="10%"  > 检测方法</td>
              <td ><select class="select" name="method">
                  <option value="0">-沉降法-</option>
                  <option value="1">-SS直接划线-</option>
                    </select></td>
            </tr><tr>
              <td width="10%"  > 细菌数量</td>
              <td ><input name="amount" class="text" type="text" id="amount" /></td>
            </tr><tr>
              <td width="10%"  > 检测结果</td>
              <td ><select class="select" name="result" id="result">
                  <option value="0">-合格-</option>
                  <option value="1">-不合格-</option>
                    </select></td>
            </tr><tr><td width="10%"  >消毒日期</td>
              <td ><input name="xdate" class="text" type="text" id="xdate" onfocus="calendar()"/></td>
            </tr>
            <tr>
                  <td>备注</td>
                  <td colspan="3">
                  <textarea style="width:30%" name="re" rows="2"></textarea></td>
                </tr>
              <tr> 
                <td> </td>
                <td> 
                  <input class="btn" type="submit" name="cc" value="提交"></td>
              </tr>
          </table>
    <script type="text/javascript">
    window.onload = function(){
        document.getElementById('amount').onkeyup = function(){
            var testType = document.getElementById('sname').value;
            var amount = parseInt(this.value);
            var result;
            if(testType == '0'){
                result = amount >= 30 ? 1 : 0;
            }else if(testType == '1'){
                result = (amount == 0 || amount=='') ? 0 : 1;
            }else if(testType == '2'){
                result = (amount != 0) ? 1 : 0;
            }
            document.getElementById('result').value = result;
        }
    }
    </script>
    </body>
    </html>
      

  17.   

    好像是可以了,但是在选定一些值的时候,<select class="select" name="result" id="result">出现空白,有没有解决办法
      

  18.   

    咋会有空白呢。。就合格不合格俩选项,怎么会有空白捏。。以下为超级无敌最终版:
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>我了个去</title>
    </head>
    <body>
    <table width="100%" border="0"  cellpadding="0" cellspacing="0">
        <input name="type" type="hidden" id="type" value="1">
            <tr>
              <td width="10%"  >日期</td>
              <td ><input readonly name="cdate" type="text" id="cdate" class="text" onfocus="calendar()" /></td>
            </tr>
              <tr><td width="10%"  >房间</td>
              <td ><input name="room" class="text" type="text" id="room" /></td>
            </tr>
            <tr><td width="10%"  >采样</td>
              <td ><select class="select" name="sname" id="sname">
                  <option value="0">-环境-</option>
                  <option value="1">-笼具/料盒-</option>
                  <option value="2">-笼具-</option>
                    </select></td>
            </tr>
            <tr>
              <td width="10%"  > 检测方法</td>
              <td ><select class="select" name="method">
                  <option value="0">-沉降法-</option>
                  <option value="1">-SS直接划线-</option>
                    </select></td>
            </tr><tr>
              <td width="10%"  > 细菌数量</td>
              <td ><input name="amount" class="text" type="text" id="amount" /></td>
            </tr><tr>
              <td width="10%"  > 检测结果</td>
              <td ><select class="select" name="result" id="result">
                  <option value="0">-合格-</option>
                  <option value="1">-不合格-</option>
                    </select></td>
            </tr><tr><td width="10%"  >消毒日期</td>
              <td ><input name="xdate" class="text" type="text" id="xdate" onfocus="calendar()"/></td>
            </tr>
            <tr>
                  <td>备注</td>
                  <td colspan="3">
                  <textarea style="width:30%" name="re" rows="2"></textarea></td>
                </tr>
              <tr> 
                <td> </td>
                <td> 
                  <input class="btn" type="submit" name="cc" value="提交"></td>
              </tr>
          </table>
    <script type="text/javascript">
    window.onload = function(){
        document.getElementById('amount').onkeyup = function(){
            var testType = document.getElementById('sname').value;
            var amount = parseInt(this.value);
            var result;
            if(testType == '0'){
                result = amount >= 30 ? 1 : 0;
            }else if(testType == '1'){
                result = (amount == 0 || isNaN(amount)) ? 0 : 1;
            }else if(testType == '2'){
                result = (amount != 0) ? 1 : 0;
            }
            document.getElementById('result').value = result;
        }
    }
    </script>
    </body>
    </html>
      

  19.   

    这个是在有PHP代码情况下出错的,在纯html文件下确实没错,已经非常感谢了,刚才是我的疏忽,直接贴在含有php代码的页面里了!