【问题标题】:how do i submit a form using get method in jquery如何在 jquery 中使用 get 方法提交表单
【发布时间】:2011-04-18 10:04:31
【问题描述】:

我知道使用 method=get 发送表单值

<FORM METHOD=get ACTION="test.html">

我有一个捕获电子邮件的文本框。当我使用 GET 方法提交表单时,@ 被转换为 %40。 我在某处读过 Jquery 可以通过序列化发送数据。如何做呢? 谢谢

【问题讨论】:

  • 我不太确定你的问题是什么。是不是让@ 不被转义?因为这是正确的行为:关键是它被转义了,以便您的服务器端代码可以正确读取它,而不会误解请求。通过 AJAX 发送表单不会改变这一点。

标签: javascript jquery ajax webforms


【解决方案1】:

如果你想使用 jQuery serialize() 和 GET 方法提交表单,你可以这样做:

如果你使用 PHP:

表格:

<form action='test.php' method='GET' class='ajaxform'>
   <input type='text' name='email'>
</form>

jQuery:

jQuery(document).ready(function(){

    jQuery('.ajaxform').submit( function() {

        $.ajax({
            url     : $(this).attr('action'),
            type    : $(this).attr('method'),
            data    : $(this).serialize(),
            success : function( response ) {
                        alert( response );
                      }
        });

        return false;
    });

});

test.php 中,您可以收到这样的电子邮件:

$_GET['email']

更多详情:

http://api.jquery.com/jQuery.ajax/

【讨论】:

  • 谢谢 Naveed.. 这正是我想要的 :)
  • 除非您无法在 html 页面中使用 $_GET['email'] 接收电子邮件,否则它需要具有 .php 或 .phtml 扩展名(除非您将 apache 设置为激活 CGI - .html 扩展的脚本引擎)
  • Liam Bailey:有没有办法在 html 页面中捕获表单值?
  • 不怕。如果你想开始处理表单,你需要开始研究一种服务器端语言(PHP 可以说是最容易学习的)
  • 如果您使用的是 jquery 则无需在此处使用 submit() 方法,只需检测单击任何按钮即可。
【解决方案2】:

您可以使用 NAVEED 的答案发送所有表格。虽然如果您想发送单个字段,您可以使用second parameter of the get function

jQuery.get( url, [data], [callback(data, textStatus, XMLHttpRequest)], [dataType])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    相关资源
    最近更新 更多