0

コード :

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="js/jquery.form.js"></script>
<script>
$(document).ready(function () {
  $('#form1').ajaxForm({
    dataType: 'json',
    success: processJson
  });
});

function processJson(data) {
  if (data.result == "ok") {
    $("#f1").show();
    var usernameValue = $('input[name=us]').fieldValue();
    alert("Nombre " + usernameValue);
  }
  //alert(data.result);
}
</script>
<script>
function test_form() {
  $(document).ready(function () {
    $('#form2').ajaxForm({
      dataType: 'json',
      success: processJson2
    });
  });

  function processJson2(data) {
    if (data.result == "ok") {
      $("#f2").show();
      var usernameValue = $('input[name=us]').fieldValue();
      alert("Nombre " + usernameValue);
    }
    //alert(data.result);
  }
}
</script>
<form name="form1" method="post" action="test_form.post.php" id="form1">
  <input type="text" name="us">
  <input type="submit" name="Submit" value="Enviar">
</form>
<div id="f1" style="display:none;">Ejecutando Forma 1</div>
<form name="form2" method="post" action="test_form.post.php" id="form2">
  <input type="text" name="us">
  <input type="submit" name="Submit" value="Enviar" Onclick="test_form();">
</form>
<div id="f2" style="display:none;">Ejecutando Forma 2</div>

テストすると、1 つのフィールドに名前を挿入し、他のフォーム ボタンを押すと、テキストが他のフォームに挿入され、他の場合は同じであることがわかります。異なるフォーム ID の下の同じフィールドでは機能しません。

4

1 に答える 1

0

あなたの問題は、ジェネリックセレクターを使用して目的のテキストボックスを取得していることです。

以下を適用すると:

$('input[name=us]').fieldValue()

最初にランダムに選択されたテキストボックスを取得しています。

$('input[name=us]')

1つではなく2つのテキストボックスで応答します。ドキュメントの先頭から「us」という名前の入力要素を検索します。あなたがすべきことは、次のようなものです。

$("#form1").find("input[name='us']").val();

これは、さまざまな方法の 1 つです。

于 2012-11-12T19:56:03.447 に答える