如何使用JavaScript在while循环中检索文本字段的值?

时间:2015-12-01 13:25:55

标签: javascript php

在while循环中有文本框。有一个名为checkNum()的JavaScript函数用于检索文本框值,但我不知道如何做到这一点?

<script>
function isNumberKey(evt)
       {
          var charCode = (evt.which) ? evt.which : evt.keyCode;
          if (charCode != 46 && charCode > 31 
            && (charCode < 48 || charCode > 57))
             return false;

          return true;
       }
	   
function checkNum()
{
	var num = document.getElementById('num');
	
}
</script>
<table width="506" border="0">
  <tr>
    <td width="189" align="center">Text One</td>
    
  </tr>
  <?php
  $i =0;
  $data = "select * from tbl_person";
  $query = mysqli_query($conn,$data);
  while($row = mysqli_fetch_array($query))
  {
	  $i++;
  ?>
  <tr>
    <td align="center"><input type="text" name="num<?php echo $i;?>" id="num<?php echo $i;?>" onkeypress="return isNumberKey(event)"/></td>
    
  </tr>
  <?php
  }
  ?>
  
</table>

2 个答案:

答案 0 :(得分:0)

    function loopTexts(numRows)
    {
      for(var i = 1; i <= numRows; i++)
      {
        var txt = document.getElementById('txt'+i);
        var str = txt.value;
        alert(str);
      }
    }


<?php
//Some query here
    $numRows = mysqli_num_rows($resultSet);
//Loop through the result set and create the fields as you did
?>

    <input type="text" value="text1" id="txt1"/>
    <input type="text" value="text2" id="txt2"/>
    <input type="text" value="text3" id="txt3"/>
    <input type="text" value="text4" id="txt4"/>
    <input type="text" value="text5" id="txt5"/>
//echo the parameter $numRows to pass it to the JS function
    <input type="button" value="Loop!" onclick=<?php echo "loopTexts($numRows);"; ?>/>

如果您不知道在运行时将创建多少文本框,请将其作为参数传递给javascript函数,并在for循环中使用它。

无论你应该使用它的任何事件都要调用该函数。

答案 1 :(得分:0)

让函数接受输入作为参数:

function checkNum(input)
{
    var num = input.value;

}

然后将onblur属性添加到字段中,并将this作为参数传递:

<input type="text" onblur="checkNum(this)" name="num<?php echo $i;?>" id="num<?php echo $i;?>" onkeypress="return isNumberKey(event)"/>