<form action="" method="post">
<input type="text" name="name" />
<input type="text" name="email" />
<input type="text" name=qty" />
<textarea name="message"></textarea>
<input type="submit" class="submit" onclick="formSubmit(event)" />
</form>
现在,我使用ajax将信息提交到http://example.com/test.php
。如何访问test.php中的inputname
,email
,phone
,message
值,我知道,如果不使用ajax,则可以使用$ _POST ['email'] ..访问传递值。
如果我也想使用$ _POST ['email']。我该怎么办?经过某人的指示后,我做了以下工作,但是在test.php中。它没有进入问号,这是怎么回事?
var dataString = '&name=' + jQuery('input[name=name]').val() +
'&email=' + jQuery('input[name=email]').val() +
'&qty=' + jQuery('input[name=qty]').val() +
'&message=' + jQuery('textarea[name=message]').val() +
jQuery.ajax({
type: "POST",
url: "http://www.example.com/test.php",
data: dataString,
然后在test.php我使用。 $ _POST ['email'],$ _ POST ['qty'] ...无效。
最后一个代码:我将class =“ ajax-submit”添加到了
jQuery('form.ajax-submit').submit(function(e) {
var $this = jQuery(this);
e.preventDefault();
if ($this.find('input[name="email"]').val() == '' || $this.find('input[name="qty"]').val() == ''|| $this.find('input[name="message"]').val()=='')) {
alert("please fill out the required fields");
return false;
}
jQuery.ajax({
type: "POST",
url: "http://example.com/test.php",
data: $this.serialize(),
success: function(response) {
alert(response);
},
error: function() {
alert('There was an error submitting the form');
}
})
});
参考方案
不要手工构造查询字符串。您现在拥有的内容无法逃避这些值,因此很容易被破坏。
相反,让jQuery为您序列化表单:
$('form.ajax-submit').submit(function(e) {
var $this = $(this);
e.preventDefault();
$.ajax({
url: $this.attr('action') || window.location,
type: $this.attr('method') || 'post',
data: $this.serialize(),
success: function(response) {
alert(response);
}
})
});
此代码使所有ajax-submit
类的表单都通过AJAX提交。
要解决现在的问题,只需更改data
键的值:
var $form = $('#your_form');
if ($form.find('input[name="email"]').val() == '' || $form.find('input[name="name"]').val() == '') {
return false;
}
jQuery.ajax({
type: "POST",
url: "http://www.example.com/test.php",
data: $form.serialize(),
...
jQuery Ajax加载仅适用于单个单词变量 - php在我的PHP文件中,我将一些变量从输入框传递到链接中,该链接通过jQuery的ajax load函数在其URL中使用该变量加载页面。整个系统运行良好,但仅适用于单字变量。每当涉及到空格时,我的Ajax通话都会中断。我假设这是一个编码问题,但是我也有一些疑问。基本上,它归结为我的PHP文件中的这一行代码,这导致了混乱。是否有可能找出格式是否正确,或者为什么在多…
PHP:将数组值加在一起 - php我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…
PHP JQuery复选框 - php我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(…
使用jQuery将值增加到attr - php我想增加i的值。 “ for”循环不起作用。$("a[href$='.xls']").appendTo(".xl1").attr('id','xl'+i); 我搜索所有excel文件,并将它们放在容器中并增加其id的值。谢谢吉恩 参考方案 $("a[…
jQuery AJAX不向PHP发送多个提交按钮 - php所以我的问题是,当我将表单提交到PHP时,使用jQuery通过AJAX提交表单时,使用jQuery AJAX时哪个按钮提交表单并不重要,但是当使用表单操作时,表单会提交并让我知道删除还是删除按下了更新按钮。例如,这是提交表单的HTML<input type="submit" name="update" value…