ajax提交表单信息 - php

<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中的inputnameemailphonemessage值,我知道,如果不使用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…