Помогите исправить баг с формой ввода
Это код формы ввода:
<form action="#" method="post" id="indexform"> <table border="0"> <tr> <td colspan="2">Введите Ваше имя:</td> <td> <input type="text" size="15" maxlength="20" name="username" id="username"/> </td> <td> <input type="text" class="text" disabled="disabled" name="emptyname" id="emptyname" /> </td> </tr> <tr> <td colspan="2">Введите пароль:</td> <td> <input type="password" size="15" maxlength="16" name="password" id="password" /> </td> <td> <input type="text" class="text" disabled="disabled" name="emptypass" id="emptypass"/> </td> </tr> <tr> <td>Введите код: </td> <td> <img src="captcha.php" alt="защитный код" id="imgCaptcha" /> <input type="image" src="img/refresh.jpg" onclick="return refreshCaptcha();" /> </td> <td> <input type="text" size="15" maxlength="10" name="securecode" id="secretcode" /> </td> <td> <input type="text" class="text" disabled="disabled" name="emptycode" id="emptycode"/> </td> </tr> <tr> <td colspan="2"> <input type="button" value="Регистрация" class='button' onclick="<?php echo $reglink;?>" /> </td> <td> <input type="submit" value="Вход" class='button' id="authsubmit" /> </td> </tr> </table> </form> А это код JS (используется jquery) $(document).ready(function(){ $("#indexform").submit( function(){ if($("#username").val() == "") { $("#emptyname").val("Введите логин"); } if($("#password").val() == "") { $("#emptypass").val("Введите пароль"); } if($("#secretcode").val() == "") { $("#emptycode").val("Введите символы с картинки"); } }); }) При попытке отправки формы и наличии при этом пустых полей, должны появляться сообщения об ошибке. Но они появляются только буквально на секунду в момент отправки формы. Как сделать так чтобы сообщения об ошибке не исчезали? |
Можно так:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#indexform").submit( function(){ if($("#username").val() == "") { $("#emptyname").val("Введите логин"); return false; } if($("#password").val() == "") { $("#emptypass").val("Введите пароль"); return false; } if($("#secretcode").val() == "") { $("#emptycode").val("Введите символы с картинки"); return false; } }); }) </script> <form action="#" method="post" id="indexform"> <table border="0"> <tr> <td colspan="2">Введите Ваше имя:</td> <td> <input type="text" size="15" maxlength="20" name="username" id="username"/> </td> <td> <input type="text" class="text" disabled="disabled" name="emptyname" id="emptyname" /> </td> </tr> <tr> <td colspan="2">Введите пароль:</td> <td> <input type="password" size="15" maxlength="16" name="password" id="password" /> </td> <td> <input type="text" class="text" disabled="disabled" name="emptypass" id="emptypass"/> </td> </tr> <tr> <td>Введите код: </td> <td> <img src="captcha.php" alt="защитный код" id="imgCaptcha" /> <input type="image" src="img/refresh.jpg" onclick="return refreshCaptcha();" /> </td> <td> <input type="text" size="15" maxlength="10" name="securecode" id="secretcode" /> </td> <td> <input type="text" class="text" disabled="disabled" name="emptycode" id="emptycode"/> </td> </tr> <tr> <td colspan="2"> <input type="button" value="Регистрация" class='button' onclick="<?php echo $reglink;?>" /> </td> <td> <input type="submit" value="Вход" class='button' id="authsubmit" /> </td> </tr> </table> </form> |
Только что здесь же проверил - работает только для первого поля (логина)
|
Точно, тогда так можно:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $("#indexform").submit( function () { var fields = { "#username": ["#emptyname", "Введите логин"], "#password": ["#emptypass", "Введите пароль"], "#secretcode": ["#emptycode", "Введите символы с картинки"] }, error = false; for (i in fields) { if ($(i).val() == "") { $(fields[i][0]).val(fields[i][1]); error = true; } else { $(fields[i][0]).val(''); } } if (error) return false; }); }) </script> <form action="#" method="post" id="indexform"> <table border="0"> <tr> <td colspan="2">Введите Ваше имя:</td> <td> <input type="text" size="15" maxlength="20" name="username" id="username"/> </td> <td> <input type="text" class="text" disabled="disabled" name="emptyname" id="emptyname" /> </td> </tr> <tr> <td colspan="2">Введите пароль:</td> <td> <input type="password" size="15" maxlength="16" name="password" id="password" /> </td> <td> <input type="text" class="text" disabled="disabled" name="emptypass" id="emptypass"/> </td> </tr> <tr> <td>Введите код: </td> <td> <img src="captcha.php" alt="защитный код" id="imgCaptcha" /> <input type="image" src="img/refresh.jpg" onclick="return refreshCaptcha();" /> </td> <td> <input type="text" size="15" maxlength="10" name="securecode" id="secretcode" /> </td> <td> <input type="text" class="text" disabled="disabled" name="emptycode" id="emptycode"/> </td> </tr> <tr> <td colspan="2"> <input type="button" value="Регистрация" class='button' onclick="<?php echo $reglink;?>" /> </td> <td> <input type="submit" value="Вход" class='button' id="authsubmit" /> </td> </tr> </table> </form> |
Спасибо, сейчас попробую вставить код в свой скрипт
|
Часовой пояс GMT +3, время: 20:52. |