-2

cName 入力から値を取得する方法:

<form method="post" action="">
  <input type="hidden" name="cName" value="test1" />
  <input type="submit" name="get" />
</form>

<form method="post" action="">
  <input type="hidden" name="cName" value="test2" />
  <input type="submit" name="get" />
</form>

jqueryまたはjavascriptでgetをクリックしてcNameから値を取得したい。

4

6 に答える 6

1

「クリック」とは、送信ボタンをクリックしてフォームを送信するという意味ですか? submitその場合は、ユーザーが Enter キーを押したときにもトリガーされるため、代わりにイベントを使用する必要があります。

$("form").submit(function() {
    // finds the relevant input based on the submitted form
    // and then gets the value of that input
    var val = $(this).find("input[name='cName']").val();
    // the following line prevents the form submission, which I assume
    // you want to do because getting the value would otherwise be useless
    return false;
});
于 2012-07-26T21:56:02.520 に答える
1

これにより、他のフォームの値ではなく、クリックしたフォームの値が得られます。

$("[name=get]").click(function () {
    alert($(this).closest("form").find("[name=cName]").val();
    return false;  // prevent the submission
});
于 2012-07-26T21:57:56.190 に答える
1
 $('input[name="get"]').click(function(){
  alert($(this).closest('form').find('input[name="cName"]').val());
 return false;
});

このリンクを試してくださいhttp://jsfiddle.net/RqrH8/1/

于 2012-07-26T21:58:52.053 に答える
1

以下は、求める値の配列を返します。

var arrCnameValues = $("input[name=cName]").map(function(i,c){ return c.value; });

arrCnameValues は ["test1","test2"] になります ... テキスト値の配列と同じように結果を操作できます。

arrCnameValues.join(',');

= テスト 1、テスト 2

arrCnameValues[0];

= テスト 1

于 2012-07-26T21:58:57.517 に答える
0

これは使用するセレクターですが、パフォーマンスと 2 つ以上の cName 入力のうちの 1 つだけを取得するために、セレクターの範囲を狭める必要があります。

$("input[name='cName']").val()
于 2012-07-26T21:56:13.040 に答える
0
$(document).ready(function(){
    $('input[type="submit"]').click(function(){
        alert($($('input[name="cName"]')[0]).val() + ' ' + $($('input[name="cName"]')[1]).val());
    });
});
于 2012-07-26T21:58:56.503 に答える