2011-05-05 1 views
2

Привета снова все я работаю над этимПокажите мне Простой яваскрипт onSubmit обработчик

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<title>Form</title> 
<script type="text/javascript"> 
</script> 
</head> 
<body> 
<h2>**Form**</h2> 
<form name=form method="post" action="javascript" subject=RSVP" enctype="text/plain" > 
<input type=text name="first" size="20"> First Name<BR> 
<input type=text name="last" size="20"> Last Name<BR> 
<input type="text" name="email" size="20"> E-Mail<BR><BR> 
<input type="submit" value="Submit"> 
<input type="reset" value="Clear Form"><br> 
</form> 
</body> 
</html> 

Я получаю действительно путает здесь .. Мне нужно иметь onsubmit формы обработчика и сценарий проверки создания. Хорошо, если я прав, скрипт проверки - это функция, которую нужно поместить правильно? жаль, что я знаю, что некоторые из вас, ребята, могут подумать, что это легко, но я все еще участвую. Теперь у меня есть примеры в моей книге, но они только из-за одного. Есть ли способ, которым вы можете сделать onsubmit из всех или он должен быть по одному за раз? благодаря

нормально У меня есть этот один я работаю над ..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
    <title>Form</title> 
    <script type="text/javascript"> 
    <!-- 
    function validate_form() 
    { 
valid = true; 

    if (document.contact_form.contact_first.value == "") 
    { 
      alert ("Please fill in the 'Your Name' box."); 
      valid = false; 
    } 

    return valid; 
    } 

//--> 

</script> 
</head> 
    <body> 
<h2>**Form**</h2> 
<form name="contact_form" method="post" action="javascript" onSubmit="return validate_form();"> 
<input type=text name="contact_first" size="20"> First Name<BR> 
<input type=text name="contact_last" size="20"> Last Name<BR> 
<input type="text" name="contact_email" size="20"> E-Mail<BR><BR> 
<input type="submit" value="Submit"> 
<input type="reset" value="Clear Form"><br> 
</form> 



</body> 

</html> 

Может теперь я просто скопировать функцию для двух других или как я сделать один для электронной почты?

+0

возможно дубликат [работает на onsubmit] (http://stackoverflow.com/questions/5896265/working- on-a-onsubmit) –

ответ

5

Я добавил здесь пример того, как это сделать :

http://jsfiddle.net/tomgrohl/JMkAP/

Я добавил onsubmit обработчик в виде:

<form method="post" action="javascript" enctype="text/plain" onsubmit="return valForm(this);"> 

И добавил это в верхней части страницы, простая функция проверки:

<script type="text/javascript"> 
function valForm(form){ 

    var firstVal, lastVal, emailVal, error = ''; 

    firstVal= form.first.value; 
    lastVal= form.last.value; 
    emailVal= form.email.value; 

    //OR 
    //firstVal= document.getElementById('first').value; 
    //lastVal= document.getElementById('last').value; 
    //emailVal= document.getElementById('email').value; 

    if(firstVal.length == 0){ 
     error += 'First name is required\n'; 
    } 

    if(lastVal.length == 0){ 
     error += 'Last name is required\n'; 
    } 

    if(emailVal.length == 0){ 
     error += 'Email is required\n'; 
    } 

    if(error){ 
     alert(error); 
     return false; 
    } 

    return true; 
} 
</script> 
0

OnSubmit вызывается один раз для формы.

Вы можете проверить все поля формы в одной функции onSubmit во время одного вызова этой функции.

function myOnSubmitHandler(theForm) { 
    if (theForm.data1.value == "") { 
     alert("This field is empty."); 
     return false; // suppress form submission 
    } else { 
     return true; // A-OK, form will be submitted 
    } 
} 

в HTML:

<form method="POST" ACTION="SomethingOnServer.php" 
     onSubmit="return myOnSubmitHandler(this);"> 
+0

Хорошо, как вы сможете привести пример? – norris1023

0

мне нужно иметь onsubmit обработчик формы

Вы сказали, что это; <form onsubmit="return myValidate(this);" .... >

myValidate - это ваша функция проверки подлинности, которая возвращает true | false, указывающую, хотите ли вы, чтобы форма была отправлена ​​на скрипт обработчика (который также отсутствует).

0

может я предлагаю вам использовать jQuery и jQuery validate, чтобы проверить вашу форму не нужно заново изобретать колесо

обязательно проверить validator's demo

Смежные вопросы