大家好,我们试图进行表格检查但是我用javascript做的最基本的事情是没有任何想法我做错了什么?
HTML:
<form onsubmit= "return formCheck();" method="POST" action="check.php" >
name: <input type="text" name="name" onchange="valid_name.checked = true;">
<input type="checkbox" disabled="disabled" name="valid_name">
<input type="submit" value="Submit">
</form>
的javascript:
function formCheck() {
if(this.name.value == ""){
alert("You forgot to enter your name");
this.name.focus();
return false;
}
}
jsfiddle
http://jsfiddle.net/Lawwf/rRNBy/
提前感谢。
答案 0 :(得分:2)
小提琴有些不妥之处:
return formCheck();
周围没有引号 - 虽然此处给出的代码包含它们。formCheck
无法访问全局上下文(需要将设置更改为“no wrap”)。代码有问题:
this
内部是window
对象,而不是表单。窗口已经有name
属性,这与您尝试执行的操作相冲突。不要以这种方式工作,而是考虑使用DOM搜索方法来获取元素,例如getElementById
,querySelectorAll
等。<强> Updated working example 强>:
function formCheck() {
var el = document.querySelectorAll("input[name=name]")[0];
if(el.value == ""){
alert("Je bent vergeten je naam in te vullen");
el.focus();
return false;
}
}
答案 1 :(得分:0)
在很多其他事情中:
ler strings
试试这个:
...
<form onsubmit="return formCheck(this);" method="POST" action="check.php" >
...
然后:
function formCheck(myForm) {
if(myForm.name.value == ""){
alert("You forgot to enter your name");
myForm.name.focus();
return false;
}
return true;
}
答案 2 :(得分:0)
<form onSubmit= "formCheck()" type="POST" action="#" >
<label for="name">Name:</label>
<input type="text" name="name" id="name_input" onBlur="formCheck()">
<input type="checkbox" id="valid_name" name="valid_name" disabled>
<button type="submit" value="Submit">Submit</button>
</form>
function formCheck() {
var val = document.getElementById('name_input').value;
if(val!='')
document.getElementById('valid_name').checked = true;
else
alert('Looks like you forgot your name!');
}
小提琴:http://jsfiddle.net/dTc63/1/
(再次点击运行以另一种方式尝试。在jsfiddle中POST不能正常工作。)
答案 3 :(得分:0)
只需将 this 关键字传递给formCheck函数即可。 HTML:
<form onsubmit= "return formCheck(this);" method="POST" action="check.php" >
name: <input type="text" name="name" onchange="valid_name.checked = true;">
<input type="checkbox" disabled="disabled" name="valid_name">
<input type="submit" value="Submit">
</form>
的javascript:
function formCheck(frm) {
if(frm.name.value == ""){
alert("You forgot to enter your name");
frm.name.focus();
return false;
}
}