0

私は現在、javascriptによってテキストボックスの値を設定しています。しかし、$( "#idField")。val()を使用してその値を取得しようとすると、null値が取得されます。

これらのテキストボックスの値を取得するにはどうすればよいですか?

私がやりたいのはこんな感じ

4

3 に答える 3

0

#idFieldが存在することを確認してください(一意のID)

.val()はinput / select / textarea要素でのみ機能します。テキストが必要な場合は.text()を使用し、htmlが必要な場合は.html()を使用します。

<script type="text/javascript" charset="utf-8">
    jQuery(document).ready(function($){
        var user_name = $('#user_name').val();

        alert(user_name);
    });
</script>
<label for="user_name">Label</label>
<input type="text" name="user[name]" value="User name" id="user_name">
于 2012-07-12T03:31:05.780 に答える
0
  • jQueryライブラリが正しく含まれていることを確認してください。

  • textfield値を割り当てる前ではなく、値を割り当てた後で、値にアクセスしようとしていることを確認してください。

  • あなたIDがユニークであることを確認してください。

  • 値をtextfield構文に設定するには、次のようにします$("#idField").val('some value')

  • 設定後、値を取得できます。

  • anyを使用して値を割り当てようとしている場合は、に何らかの値があるか、またはであるかvariableを確認してください。変数を使用して値を設定するには:variablenull

    var myVar = 'some value';
    $("#idField").val( myVar );
    
  • エラーをキャッチするためにデバッガーのようなfirebug/を使用してみてください(運がない場合)

于 2012-07-12T03:34:07.650 に答える
0

.val()with no parameters は、関数が呼び出された時点でフィールドの値を取得しますが、「#idField」要素がまだ解析されていない場合は、それが$("#idField")見つからず、. これが、DOM を操作するスクリプトを、ドキュメント対応ハンドラーまたは本文の末尾にあるスクリプト ブロックで実行する必要がある理由です。.val()undefined

あなたのフィドルの場合、何をしようとしているのかは実際には明確ではありませんが、field_one_val変数を宣言して初期化しています:

var field_one_val = $("#field_one").val();

...ページの読み込み時、フィールドは実際には空であるためfield_one_val、空の文字列になります。

次に、クリック ハンドラー内でその変数を使用します。

$("#field_two").val('val '+field_one_val +' added to this field');

...しかし、それはまだ空の文字列です。

あなたがしようとしているのは、2番目のフィールドをクリックしてその時点で最初のフィールドの値を取得することである場合は、次のようにします。

$("#field_two").val('val ' + $("#field_one").val() + ' added to this field');

この更新されたデモに示すように: http://jsfiddle.net/g3vng/2/

于 2012-07-12T05:01:20.417 に答える