我对Javascript有点新鲜。我有一个具有多种输入类型的html表单,但具有相同的名称,出现多种类型。我需要在将表单中的数据插入数据库之前验证表单。我能够在没有JS验证的情况下更新并插入到数据库中,但由于处理具有相同名称的输入的复杂性,我无法使用javascript执行验证部分。 这是表格:
<form name="confirmation" method="post" action="appointment.php" onsubmit="return check()">
<label>Restaurant Name: </label>
<input name="r_name[]" type="text" value="<?php echo $row[0]?>"><br>
<label>Appointment Date: </label>
<input name="app_date[]" type="date" value="<?php echo $row[1]?>"><br>
Confirm:<select name="confirm[]">
<option value=""></option>
<option value="yes">Yes</option>
<option value="no">No</option>
</select><br><br>
</form>
这是更新数据库的php代码:
<?php
if(isset($_POST['submit'])){
$names= $_POST['r_name'];
$dates=$_POST['app_date'];
$confirm=$_POST['confirm'];
//echo $count;
for($i=0;$i<$count;$i++){
//echo "success";
$value=$confirm[$i];
if($value=="yes")
$value="y";
else
$value="n";
// echo $value;
$result= mysql_query("update appointment set confirm='".$value."' where rname='".$names[$i]."';");
}
}?>
要将表单中具有相同名称的数据插入/更新到数据库中,我必须将[]与其各自的名称相关联,这是一个简单的方法。但我有问题在javascript中为验证部分评估它。任何人都可以建议我如何使用一个小代码片段来完成它,其中包含上述表单中使用的输入类型的任何名称。感谢。
答案 0 :(得分:0)
如果name
对于多个输入元素是相同的,如果要定位特定元素,则可以在元素上使用唯一id
,或者可以使用class
es定位一组相似的元素。
<form>
<input name="myInput[]" id="myInput_0" class="myInput" type="text" value="">
<input name="myInput[]" id="myInput_1" class="myInput" type="text" value="">
<input name="myInput[]" id="myInput_2" class="myInput" type="text" value="">
</form>
现在,您可以将myInput[0]
定位为getElementById('myInput_0')
或将所有myInput[]
定位为getElementByClassName('myInput')
答案 1 :(得分:0)
尝试使用document.getElementsByName
https://developer.mozilla.org/en-US/docs/DOM/document.getElementsByName
答案 2 :(得分:0)
您可以使用此jquery库http://www.position-relative.net/creation/formValidator/demos/demoValidators.html
您可以在执行提交帖子后使用此验证,并且librery会进行所有验证。