我需要将数据发布到网址而不提交表单并重新加载页面,但我对JQuery不太好。我将如何按照这一点执行某些操作 HTML:
<input type="text" name="name">
<input type="text" name="stuff[]">
<input type="text" name="stuff[]">
<input type="text" name="stuff[]">
<input type="text" name="stuff[]">
<button onclick="send()">send</button>
JQuery的:
function send() {
params= {'name': $('#name').val(), 'stuff': $('#stuff[]').val()};
$.post( "url/test", params );
}
答案 0 :(得分:3)
此外,您可以将其视为更接近传统表单并使用.serialize()方法。
<强> HTML 强>
<form name="myForm">
<input type="text" name="name" />
<input type="text" name="stuff[]" />
<input type="text" name="stuff[]" />
<input type="text" name="stuff[]" />
<input type="text" name="stuff[]" />
<input type="submit" value="Send" />
</form>
<强>的jQuery 强>
$(function(){
$('form[name="myForm"]').on('submit', function(e){
e.preventDefault(); // This prevents the form from actually submitting like a traditional form.
var formData = $(this).serialize(); // Gathers the form field values
$.post('url/test', formData, function(data){
alert(data); // This is the callback that will handle the response from the server.
});
});
});
这是DEMO。希望这有帮助!
答案 1 :(得分:2)
您可以获取名为&#34; stuff []&#34;的所有输入中的所有值。像这样:
$('#stuff[]').map(function() { return $(this).val(); }).get().join()
这将为您提供一个串联所有值的字符串,以逗号分隔。
在代码中使用它,如下所示:
function send() {
params= {'name': $('#name').val(),
'stuff': $('input[name="stuff[]"]').map(function() {
return $(this).val(); }).get().join()};
$.post( "url/test", params );
}
答案 2 :(得分:0)
您可以使用a for循环遍历元素,然后将它们全部放入数组中。