0

問題があります。複数のフォームを持つフィールドがあります。これらのフォームは最大 50 回まで繰り返すことができますが、値が異なります 。リストから選択したフォームを $ で送信したいと考えています。post ('process.php', $ ("# form") . serialize (), function (data), しかし、フォームの値をクリックすると、最初のフォームのみが送信され、選択するフォームの値は送信されません.

ユニット自体を試してみてください。これらは次のような2つの簡単なドキュメントです

フォーム.html

<html>
<head>
<title>Ejemplo de form con jquery</title> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
<script type="text/javascript">
$(function() {
$("form").validate( {
submitHandler: function(form) {
$.post('process.php', $(form).serialize(), function(data) {
$('#results').html(data);
            });
        }
    });
});
</script>
</head>
<body>
<form method="post" id="form">
    <label for="name" id="name_label">Nombre</label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <br>

    <input type="submit" name="submit" value="SEND"> 
</form>

<form method="post" id="form">
    <label for="name" id="name_label">Nombre</label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <br>
  <input type="submit" name="submit" value="SEND"> 
</form>

<form method="post" id="form">
    <label for="name" id="name_label">Nombre</label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <br>
  <input type="submit" name="submit" value="SEND"> 
</form>

<form method="post" id="form">
    <label for="name" id="name_label">Nombre</label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <br>
  <input type="submit" name="submit" value="SEND"> 
</form>

<form method="post" id="form">
    <label for="name" id="name_label">Nombre</label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <br>
  <input type="submit" name="submit" value="SEND"> 
</form>
<div id="results"></div>
</body>
</html>

プロセス.php

 <?php

    print "Form enviado correctamente: <br>the post value is <b>".$_POST['name']."</b> ";
?>

私が望むのは、下の最後のフォームに値を入力して送信する場合、問題があり、q を望まない上記のフォームの値ではなく、このフォームの値または選択した値を送信することです。すべてのフォームの値を一度に送信する ls は選択するフォームの値を送信したいだけです

4

3 に答える 3

1

一意の名前や ID を持つフォームを追加します。入力タイプが送信からボタンに変更されたことに注意してください。

<form method="post">
    <label for="name" id="name_label">Nombre</label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <input type="button" value="SEND"> 
</form>
<form method="post">
    <label for="name" id="name_label">Nombre</label>  
    <input type="text" name="name" id="name" size="30" value=""/>  
    <input type="button" value="SEND"> 
</form>

次に、イベントハンドラーを配線します

$('input[type=button]').click(function(e)) {
    $(this).parent('form').submit();
};

DOM に同じ ID を持つ 2 つの要素を持たない方がよいでしょう。

于 2013-08-15T03:28:57.323 に答える
0

各フォームにクラスまたは同じ名前を付けてから、$(.class).serialize(); を使用します。

はい、同じ id attr val を持つ要素を html に含めるべきではありません。一意の識別子の目的を無効にし、悪い習慣です。

于 2013-08-15T03:11:27.243 に答える