1
<!DOCTYPE html>
<html>
<head>
<title>Database test</title>
<link rel="stylesheet" type="text/css" href="test.css">
<script>
function validateForm(n)
{
var x=document.forms.SignUp.n.value;

alert("*"+x+"*");

}
</script>
</head>
<body>
<h1>Just a Database test</h1>
<form name="SignUp" action="http://127.0.0.1/cgi-bin/connectivity.cgi" onsubmit="return validateForm();" method="post">
Ename :<input type="text" name="ename" onchange="validateForm('ename');"><br><p id="error_1"></p>
<input type="submit" value="Send">

</form>
</body>
</html>

我正在尝试传递用户输入值,onchange="validateForm('ename')但它似乎不起作用,我什么也没得到。

相反,如果我将函数更改为此,那么它可以工作,但我需要再次将它作为变量从onchange="validateForm('ename').

function validateForm(n)
{

alert("*"+n+"*");

}
4

2 回答 2

3

您应该传递元素本身,它位于this内联处理程序中:

validateForm(this);

function validateForm(elem)
    alert(elem.value);
}
于 2013-09-16T20:23:02.397 回答
1

在不更改函数调用的情况下使其工作的一种方法:

function validateForm(n) {
    var x = document.forms.SignUp[n].value;
    alert("*"+x+"*");
}
于 2013-09-16T20:26:49.237 回答