1

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'];} ?>">
4

1 に答える 1

0

動的に作成された DOM オブジェクトは、javascript で直接選択することはできません。DOM 操作の前に存在していた静的要素を選択する必要があります。

次に例を示します。

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

body 要素は JavaScript によって静的 (作成されない) であるため、選択できます。そこから、通常どおり任意の要素に移動できます。また、ボディを使用する必要はありません。静的 html またはバックエンド プログラミング言語によって作成された要素はすべて機能します。

または、jQuery用のliveQueryプラグインを使用することもできます。

于 2013-08-13T19:26:00.847 に答える