Проверить сгенерированное AJAX поле формы - PullRequest
0 голосов
/ 23 октября 2010

У меня есть форма с выбором поля А. Это поле может быть заполнено динамически на основе URL-адреса или может быть выбрано как обычно.

Как только значение было выбрано в поле А в любом случае, выберите полеB заполнен и выставлен с JQuery AJAX.

Вот проблема.Если поле A оставлено нетронутым и динамически заполняется URL-адресом, поле B будет правильно проверено.Однако, если поле A изменено, поле B больше не будет пытаться проверить.

Поле A

<select name="FieldA" id="FieldA">
<option value="">Please Select</option>
<?php 
    while($FieldA= mysql_fetch_array($result2)) {
?>
<option value="<?php echo $FieldA['FieldAID']; ?>"<?php if ($var == $FieldA['FieldAID']) echo " selected=\"selected\""; ?>><?php echo $FieldA['FieldAName']; ?>    </option>
<?php } ?>
</select>

Поле B

<select name="FieldB" id="FieldB">
<option value="">Please Select</option>
<?php 
    while($FieldB = mysql_fetch_array($result)) {
?>
<option value="<?php echo $FieldB['FieldBID']; ?>"><?php echo str_replace('|',' - ',$FieldB['FieldBName']); ?></option>
<?php } ?>
</select>

Критерии проверки

<script language="JavaScript" type="text/javascript">
var frmvalidator  = new Validator("FormName");  
frmvalidator.addValidation("FieldA","req","Please select FieldA.");  
frmvalidator.addValidation("FieldB","req","Please select FieldB.");
</script>

Все работает, ЗА ИСКЛЮЧЕНИЕМ того, что вызов AJAX нарушает проверку для поля B. Если поле B не заполнено, оно работает нормально.Поле B составлено из включаемого файла, поэтому оно одинаково, независимо от того, заполнено ли оно страницей или вызовом AJAX.

Спасибо!

1 Ответ

0 голосов
/ 23 октября 2010

Полагаю, вы используете эту библиотеку js: http://www.javascript -coder.com / html-form / javascript-form-validation.phtml

Если это создает много проблемвозможно, пришло время перейти на более мощную библиотеку проверки.

Я рекомендую это:

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

, которая появляется на веб-странице jquery, и она очень полная.Синтаксис более или менее таков:

$("#signupForm").validate({
        rules: {
            firstname: "required",
            lastname: "required",
            username: {
                required: true,
                minlength: 2
            },
            password: {
                required: true,
                minlength: 5
            },
            confirm_password: {
                required: true,
                minlength: 5,
                equalTo: "#password"
            },
            email: {
                required: true,
                email: true
            },
            topic: {
                required: "#newsletter:checked",
                minlength: 2
            },
            agree: "required"
        },
        messages: {
            firstname: "Please enter your firstname",
            lastname: "Please enter your lastname",
            username: {
                required: "Please enter a username",
                minlength: "Your username must consist of at least 2 characters"
            },
            password: {
                required: "Please provide a password",
                minlength: "Your password must be at least 5 characters long"
            },
            confirm_password: {
                required: "Please provide a password",
                minlength: "Your password must be at least 5 characters long",
                equalTo: "Please enter the same password as above"
            },
            email: "Please enter a valid email address",
            agree: "Please accept our policy"
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...