我的HTML代码
<html>
<form name='form1' method='post' action='add.php' onsubmit='return fnSubmit();'>
<div id='textfield'>
<div>
<input type='text' name = 'name[]' id = 'name1' size = '50'>
</div>
<div>
<input type='text' name = 'name[]' id = 'name2' size = '50'>
</div>
<div>
<input type='text' name = 'name[]' id = 'name3' size = '50'>
</div>
<div>
<input type='text' name = 'name[]' id = 'name4' size = '50'>
</div>
<div>
<input type='text' name = 'name[]' id = 'name5' size = '50'>
</div>
</div>
<div>
<input type='submit' value='sendvalue'>
<input type='button' value='+' id='submit1'>
</div>
</form>
</html>
用于检查空文本框的脚本,如果为空警报并将焦点放在该文本框
<script language='javascript'>
function fnSubmit(){
if(document.form1.name[].value == "") {
alert("please enter value");
document.form1.name[].focus();
return false;
}
document.form1.submit();
}
</script>
但它不起作用数组
我使用带按钮的添加文本框
我有使用id进行自动完成搜索的问题
答案 0 :(得分:0)
PS:改为使用required属性。然后在表单提交中搜索所有必需元素并循环遍历字段
function fnSubmit() {
var requiredNodes = document.querySelectorAll("form[name=form1] [required]");
for(var i = 0; i < requiredNodes.length; i++){
if (!requiredNodes[i].value) {
alert("please enter value");
requiredNodes[i].focus();
return false;
}
}
document.form1.submit();
}
&#13;
<form name='form1' method='post' action='add.php' onsubmit='return fnSubmit();'>
<div id='textfield'>
<div>
<input type='text' name = 'name[]' id = 'name1' size = '50' required>
</div>
<div>
<input type='text' name = 'name[]' id = 'name2' size = '50' required>
</div>
<div>
<input type='text' name = 'name[]' id = 'name3' size = '50' required>
</div>
<div>
<input type='text' name = 'name[]' id = 'name4' size = '50' required>
</div>
<div>
<input type='text' name = 'name[]' id = 'name5' size = '50' required>
</div>
</div>
<div>
<input type='submit' value='sendvalue'>
<input type='button' value='+' id='submit1'>
</div>
</form>
&#13;
如果required属性存在,您编写的javascript代码默认情况下是浏览器剂量的天数。因此,对于较新的浏览器,fnSubmit
不会有任何用处,除非您启用原生表单验证(具有novalidate
属性)并且您想自己执行此操作
答案 1 :(得分:0)
要逐字回答问题,请使用:
<form [...] onSubmit="return fnSubmit(this)">
和...
function fnSubmit(theForm) {
var textboxes = theForm.getElementsByName("name[]"),
l = textboxes.length, i;
for( i=0; i<l; i++) {
if( textboxes[i].value == "") {
alert("Please enter value");
textboxes[i].focus();
return false;
}
}
}
然而,这是&#34; 1990年代&#34;这样做的方式。这些天,你做:
<input type="text" [...] required />
浏览器将为您处理,无需JavaScript。