首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >获取表格url而不提交

获取表格url而不提交
EN

Stack Overflow用户
提问于 2016-11-11 12:53:39
回答 2查看 1.3K关注 0票数 1

当涉及到JQuery或Javascript的时候,我是一个新手--所以如果这是一件简单的事情,我很抱歉.

基本上,我有一个GET表单--我需要截取--这意味着当按submit按钮时,我需要调用javascript而不是实际提交表单。我想要完整的URL作为输出..。就像..。

代码语言:javascript
代码运行次数:0
运行
复制
http://server/cgi-bin/status.py?val=1223&val2=434334&val3=4343 

表格-

基本上,我需要表单来处理URL,就好像它会提交一样,而不是提交。主要要求是将此链接小瓶邮件发送给客户,以便他们可以使用此链接跟踪作业进度。

谢谢,王子

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-11 13:05:43

如果需要使用javascript处理表单并防止提交,则需要在用户按submit按钮时在表单上发生的submit事件上添加一个侦听器。只需向窗体元素添加一个id属性:

代码语言:javascript
代码运行次数:0
运行
复制
<form method="get" id="myForm">
...
</form>

然后添加侦听器:

代码语言:javascript
代码运行次数:0
运行
复制
<script>
$(function(){
    $("#myForm').on('submit', function(event) {
        event.preventDefault(); // This line prevents the normal behaviour of the submit button

        var queryString = $(this).serialize(); // This will generate a query string like so : "val=1223&val2=434334&val3=4343"

        var url = "http://server/cgi-bin/status.py?" + queryString; // Now you have the full URL

        // Then you can send an AJAX request to a server-side script that will send the mail
        $.ajax({
            url: 'http://server/cgi-bin/email.py', // Your e-mailing script
            method: 'POST', // or GET whatever
            data: {
                url: url,
                email: 'recipient@domain.com'
            },
            ...
        })

    })
})


</script>
票数 2
EN

Stack Overflow用户

发布于 2016-11-11 12:59:00

这可以用这样的方法来完成

代码语言:javascript
代码运行次数:0
运行
复制
 $('form').on('submit', function(event) {
    var url = '<insert-path-to-desired-script>?' + $(this).serialize();

    event.preventDefault();
});

event.preventDefault()确保表单没有实际提交。

然后,url包含一个完整的url,其中包含所有的表单属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40548450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档