2013-09-16 5 views
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'), но он не работает, я ничего не получаю.Передача переменной функции javascript и ее использование в документе document.form?

вместо этого, если я меняю функцию на это, тогда он работает, но снова мне нужно передать его как varaible от onchange="validateForm('ename').

function validateForm(n) 
{ 

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

} 
+0

Что? Обе эти функции одинаковы! – tymeJV

+0

Решение действительно прост, используйте ** ID ** на вашем входе или передайте 'this', а не' document.forms.formName.elementName' – adeneo

ответ

3

Вы должны пройти сам элемент, который this внутри встроенного обработчика:

validateForm(this); 

function validateForm(elem) 
    alert(elem.value); 
} 
1

Один из способов заставить его работать, не меняя вызова функции:

function validateForm(n) { 
    var x = document.forms.SignUp[n].value; 
    alert("*"+x+"*"); 
} 
Смежные вопросы