javascript - 输入文本字段字符串作为 JavaScript 中的参数

标签 javascript html forms text input

我有一些输入文本字段和 JavaScript。在此表单输入中,我想使用规范进行文本字段背景颜色验证:

  • 位置DRP,jns_sampling设备,则ha_tpc最大输入值为3200

  • 位置DRP、jns_sampling设备和sampling_point输入字段包含“finish”字符串,则ha_tpc最大输入值为100

通过以下 javascript 代码,如果我运行第一个规范,则最大输入值 3200 不起作用,即使其中没​​有“完成”字符串和空字段,第二个规范也始终会执行sampling_point 字段。

<div class="form-group">
   <label for="location" class="col-md-2 control-label" style="text-align:left;">location</label>    
   <div class="col-sm-3">
      <select name="location" id="location" class="form-control" onselect="getWarning()">
         <option value="<?php echo $location;?>"><?php echo $location;?></option>
         <option value="WTP">WTP</option>
         <option value="DRP">DRP</option>
      </select>
   </div>
</div>
[...]

<div class="row">
   <div class="col-md-12">
   <div class="table-responsive">
   [...]
      <td>
         <input type="text" name="sampling_point[]" id="sampling_point" size="17" value="<?php $a=set_value('sampling_point[0]'); echo $a; ?>"/></td>
      <td>
         <select name ="jns_sampling[]" id="jns_sampling">
            <option value=""></option>
            <option value="Equipment">Equipment</option>
            <option value="Personnel">Personnel</option>
            <option value="Environment">Environment</option>
         </select>
      </td>
      <td>
         <input type="text" name="ha_tpc[]" id="ha_tpc" onkeyup="getWarning()" size="5" value="<?php $a=set_value('ha_tpc[0]'); echo $a; ?>"/></td>
[...]

<script type="text/javascript">

function getWarning() {
    var dropdown = document.getElementById('location').value;

    switch (dropdown) {
        case 'DRP':
            var obj = document.getElementsByTagName('input');
            for(var i=0; i<obj.length; i++) {
                if (obj[i].name == "ha_tpc[]") {
                    var hatpc = obj[i].value;
                    var type = document.getElementById('jns_sampling').value;
                    switch (type) {
                        case 'Equipment':
                            var point = document.getElementById('sampling_point').value;
                            if (hatpc == '') {
                                obj[i].style.backgroundColor = "";
                            } else if (hatpc > 3200) {
                                obj[i].style.backgroundColor = "#E74C3C";
                            } else if (hatpc > 100) {
                                var subjns = point.match(/finish/);
                                obj[i].style.backgroundColor = "#E74C3C";
                            } else {
                                obj[i].style.backgroundColor = "";
                            };
                        break;
                        case 'Personnel':
                              if (hatpc == '') {
                                obj[i].style.backgroundColor = "";
                            } else if (hatpc > 700) {
                                obj[i].style.backgroundColor = "#E74C3C";
                            } else {
                                obj[i].style.backgroundColor = "";
                            };
                        break;    
                        default:
                        break;   
                    }                        
                } 
            }
        break;
        default:
        break;    
    }

}

</script>

最佳答案

您使用 Places 的 type 变量:

var type = document.getElementById('jns_sampling').value;
switch (type) {
    case 'Equipment':
    var type = document.getElementById('sampling_point').value;

我不确定,但中途更改值看起来不是一个好主意。

编辑 您可以将 name 属性与方括号 ('[]') 一起使用。尽量避免这种情况。

关于javascript - 输入文本字段字符串作为 JavaScript 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36441098/

相关文章:

html - Github Pages 不会从 Git LFS 加载视频

javascript - 下一个和上一个按钮表单流程的 HTML 表单验证

javascript - 如何在按下文本输入回车键时调用函数?

javascript - Redux 表单 : Input stays with 'touched: false'

javascript - 表单数据在新页面中不可见 - PHP + Javascript

javascript - HTML5/jQuery 音频随机播放 onClick

javascript - 如何从 Json 字符串中删除转义字符?

javascript - 无法将 jquery 动态添加到头部并运行 jquery 代码

html - 如何使此模态响应? (如果我使用平板电脑或其他智能手机)

javascript - 旋转后,在正确位置绘制图像