正直なところ、この質問をどのように構成するかはわかりませんが、ここに行きます.
次の入力フィールドを持つフォームがあります。
<input name="key[23]" type="text" />
<input name="key[29]" type="text" />
<input name="key[65]" type="text" />
Jquery で配列を作成して、次のように PHP スクリプトに送信できます。
var new_keys = new Array();
$('input[name="keys[]"]').each(function() {
new_keys.push($(this).attr('value'));
});
ただし、入力フィールドに既にキーがある場合、配列を作成する方法がわかりません: input name="test[45]"
入力名の代わりにクラスセレクターを使用するようにメソッドを変更しようとしましたが、キー名を取得できません。
私がする必要があるのは、キー名とその値を PHP に送信して、キー名がテーブル ID 番号と等しいテーブルを更新できるようにすることです。Ajax を使用していなければ、これは簡単に実行できます。
それが理にかなっていることを願っています。
編集済み
<form method="post" id="add-form" class="form" onsubmit="return false;">
<input class="required" type="text" name="name" id="name" />
<input class="required" type="text" name="keys[32]" />
<input class="required" type="text" name="keys[65]" />
<textarea name="Test"></textarea>
<input type="submit" name="submit" value="submit" />
</form>
$(document).ready(function() {
$.fn.submitForm = function() {
var name = $('#name').attr('value');
var new_keys = new Array();
$('input[name="keys[]"]').each(function() {
new_keys.push($(this).attr('value'));
});
$.ajax({
type: 'POST',
data: { 'new_keywords' : new_keywords, 'name' : name },
dataType: 'json',
url: 'article/scripts/article.scripts.php',
success: function($data) {
var result = $data.result;
var msg = $data.msg;
if (result == "success") {
formMessageDisplay(msg, result);
}
else {
formMessageDisplay(msg, result);
}
},
error: function($data) {
formMessageDisplay('<?php echo AJAX_ERROR; ?>', result);
}
})
}
});
これは、私が持っているスクリプトの縮小版です。