如何使用链接提交表单,而不是提交按钮?

时间:2015-05-28 07:58:05

标签: javascript php jquery ajax

我有一个表单,它使用AJAX post将数据发送到另一个脚本。想法是将此更改为GET,因此我可以在用户单击"提交"提交表单或表单输入。或者只是点击"输入",表单数据与AJAX一起传递到另一个脚本,数据返回到原始脚本。

我想要的是让用户只需在url中键入参数,例如 whois.com/domain.com ,然后点击Enter,这样我的表单就可以自动填充url中的数据和提交,所以我的JS可以通过AJAX调用。

UIAccessibilityContainer

想法:检查$ _GET ['变量']是否在url yoursite.com?domain=domain.com中设置,然后将变量传递给表单,并按代码提交表单?

1 个答案:

答案 0 :(得分:1)

您可以使用位置哈希而不是查询字符串。例如,您可以使用格式:http://yoursite.com/#domain=domainname.com

然后,您可以注册hashchange事件侦听器,在事件处理程序中,您可以提取域并将其传递给ajax函数。

window.addEventListener('hashchange', function(ev){
    doNewAjaxRequest(location.hash.replace('#domain=', ''));
});

或者,如果您使用的是jQuery:

$(window).on('hashchange', function(ev){
    doNewAjaxRequest(location.hash.replace('#domain=', ''));
});

或者,您可以在哈希后使用域名,如:#domainname.com

$(window).on('hashchange', function(ev){
    doNewAjaxRequest(location.hash.replace('#', ''));
});

现在,您的用户可以键入不同的域,当他们按Enter键时,您可以处理更改。

*请注意,#之后的任何内容都不会在网址中发送到服务器,但您可以通过javascript访问和使用它。