さて、ここにアイデアがあります:
複数のフォームを処理する jQuery スクリプトを作成したいと考えています。すべてのフォームにはボタンがあります。このボタンをクリックすると、スクリプトはすべての入力フィールドの名前と値を $_POST でフォームのアクション URL に送信する必要があります。しかし、私はそれを機能させることはできません。
jQuery ファイルの 3 行目の .each をループしません。
jQuery:
$("input[type='button']").click(function(){
var query = {};
$(this).parent('form').children('input[type="text"]').each(function(){
query[$(this).attr('name')] = $(this).val();
});
$.post($(this).parent('form').attr('action'), query, function(data) {
$("#dialog").html(data);
$("#ui-id-1").html('Activate account');
$("#dialog").dialog("open");
}, 'json');
});
HTML:
<form action="/action/activateacc.php">
<table>
<tr>
<td>E-mail:</td>
<td><input type="text" id="mail" name="mail" /></td>
<td><img class="tick" id="mailIMG" width="20px" /></td>
</tr>
<tr>
<td>Activation code:</td>
<td><input type="text" id="code" name="code" /></td>
<td><img class="tick" id="codeIMG" width="20px" /></td>
</tr>
<tr>
<td>Choose organization-name:</td>
<td><input type="text" id="name" name="name" /></td>
<td><img class="tick" id="nameIMG" width="20px" /></td>
</tr>
<tr>
<td></td>
<td style="text-align:center"><input type="button" style="cursor:pointer" value="Activate account" /></td>
</tr>
</table>
</form>