老实说,我不确定如何提出这个问题,但这里是。
我有一个包含以下输入字段的表单:
<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);
}
})
}
});
这是我拥有的脚本的精简版。