在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>
答案 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)"/>