OnSubmit JavaScript работает только один раз для ложных записей, не повторяя возврат в форму, но отправляя введенные ложные значения во второй раз? - PullRequest
0 голосов
/ 11 июля 2011

Я новичок в программировании и могу сделать с какой-то помощью не могу найти подсказки, ответьте на эту проблему.Я проверил, включен ли javascript в Firefox 5.0.

. У меня есть HTML-страница с одной функцией проверки javascript для разработки тестов.Он связан с сервлетом в tomcat.

Проблема заключается в том, что при первом неправильном вводе появляется сообщение с предупреждением, и оно возвращается на исходную страницу HTML.

Однако, если я нажимаю на поле вводаи введите неправильно снова.Он отправляет форму, не выдает предупреждение или не возвращает исходную форму?

Есть ли у кого-нибудь решение или вот так должна работать проверка.

Код:

<HTML><head><title>Creation of POs</title>
<H1>Purchase Order</h1>
<script type="text/javaScript">
function check() {
check = document.forms[0].SLine1.value;
if(check=="wrong"){
alert("enter correct info");
return false;
} else {
return true; }
}
</script></head><body bgcolour="yellow">
<form method="GET" action="Distest_session30a_vs1" onSubmit="return 
check()">
various inputboxes and messages
<table>
<tr><td><input type="text" name="SLine1"></td></tr>
various other lines of inputs boxes
</table>
<Input type="submit" value="Send now">
</form></body></html>

Ответы [ 2 ]

0 голосов
/ 11 июля 2011

Это то, что вы пытаетесь сделать?

          <script type="text/javascript">

              function check() {
                                    check = document.forms[0].SLine1.value;
                                    if(check=="wrong")
                                     { 
                                       alert("enter correct info"); 
                                        return false;
                                     } 
                                     else if("right")
                                     {
                                       alert("right");
                                       return true; 
                                     }

                                } 
           </script>

          <form onsubmit="check()">
            <input type="text" id="SLine1">
                <input  type="submit">
         </form>
0 голосов
/ 11 июля 2011

Если вы не хотите, чтобы форма была отправлена, вы можете использовать onsubmit="javascript:your_validation_function()".Форма будет отправлена ​​только в том случае, если your_validation_function() вернет true.

EDIT _ При совместном просмотре вашего HTML и js кода я обнаружил вашу проблему.Этот код js должен работать:

function check(){ 
  var check = document.forms[0].SLine1.value; 
  if(check=="wrong"){ 
    alert("enter correct info"); 
    return false; 
  } 
  else{ 
    return true; 
  } 
} 

Ваша проблема заключалась в том, что вы забыли правильно объявить переменную check внутри функции.Если вы собираетесь использовать переменные, вам нужно использовать var .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...