2016-04-06 12 views
1

Ich habe einige Eingabetextfelder und ein Javascript. In dieser Form eingegeben wird, möchte ich eine Textfelder Hintergrundfarbe Validierung mit Spezifikationen machen:Eingabe Textfelder Zeichenfolge als Parameter in Javascript

  • Lage DRP, jns_sampling Ausrüstung, ha_tpc dann Max Eingangswert

  • Position DRP, jns_sampling Ausrüstung, und sampling_point Eingabefeld enthält "Finish" Zeichenfolge dann ha_tpc Max Eingabewert ist

Mit dem folgenden JavaScript-Code, Max Eingangswert haben nicht funktioniert, wenn ich die erste Spezifikation ausgeführt, die zweite Spezifikation immer noch ausgeführt werden, wenn es keine „fertig“ ist String und leeres Feld in Stichprobenpunkt Feld. sieht nicht wie eine gute Idee

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

Ich bin nicht sicher, aber der Wert auf halbem Wege zu ändern:

<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> 

Antwort

0

Sie verwenden die type Variable Orte.

BEARBEITEN Sie verwenden das Attribut name mit Klammern ('[]'). Versuche das zu vermeiden.

+0

Oh mein Schlechter, ich habe den Code bearbeitet, aber immer noch nicht funktionieren .. – metaphor

+0

Gelöst, durch UPDATE-Code oben. – metaphor

Verwandte Themen