使用jQuery更改输入值或使用PHP回显值后验证输入字段

时间:2013-08-13 17:32:08

标签: jquery jquery-validate

我正在使用jQuery验证插件。我有一个简单的函数,它将一个输入的值复制到另一个输入。

function sameAsShipping() {
    $('#billingFirstName').val($('#firstName').val());
}

我想使用valid()方法验证新复制的输入值。如果输入的值不为空,我正在尝试调用valid()方法。

$(document).ready(function(){
    $(":input, select").each(function() {
        if(!$(this).val() === "")
            $(this).valid();
    });
});

除了使用jQuery操作输入值外,如果提交了表单并且出现错误,我会回显之前提交的值。我还希望这些字段在加载时验证这些字段,但是,仅当输入中有值时才会验证。

<input type="text" id="billingFirstName" name="billingFirstName" class="required" placeholder="First Name" value="<?php if(isset($_SESSION['firstName'])){echo $_SESSION['firstName'];} ?>">

1 个答案:

答案 0 :(得分:0)

无法直接使用javascript选择动态创建的DOM对象。您需要选择在任何DOM操作之前存在的静态元素。

以下是一个例子:

$(document).ready(function(){
    $("body :input, select").each(function() {
        if(!$(this).val() === "")
            $(this).valid();
    });
});

body元素是javascript的静态(未创建),因此可以选择。从tehre开始,您可以正常导航到任何元素。你也不需要使用身体。任何静态html元素或由后端编程语言创建的元素都可以使用。

或者你可以使用liveQuery插件来获取jQuery。