Javascript 获取表单url而不提交

Javascript 获取表单url而不提交,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,对于JQuery或Javascript,我是一个新手——如果这是一个简单的问题,我深表歉意 基本上,我有一个GET表单——我需要截取它——这意味着当按下submit按钮时,我需要调用javascript而不是实际提交表单。我想有一个完整的URL作为输出。。。类似于 http://server/cgi-bin/status.py?val=1223&val2=434334&val3=4343 形式- 基本上,我需要表单来处理URL,就像它将提交,但不提交一样。主要要求是向客户发送

对于JQuery或Javascript,我是一个新手——如果这是一个简单的问题,我深表歉意

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

http://server/cgi-bin/status.py?val=1223&val2=434334&val3=4343 
形式-

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

谢谢,
普林斯

这可以用这样的东西来完成

 $('form').on('submit', function(event) {
    var url = '<insert-path-to-desired-script>?' + $(this).serialize();

    event.preventDefault();
});
$('form')。关于('submit',函数(事件){
var url='?'+$(this.serialize();
event.preventDefault();
});
事件.preventDefault()
确保表单不会实际提交


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

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

<form method="get" id="myForm">
...
</form>

...
然后添加侦听器:

<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>

$(函数(){
$(#myForm')。在('submit',函数(事件){
event.preventDefault();//此行阻止提交按钮的正常行为
var queryString=$(this).serialize();//这将生成如下查询字符串:“val=1223&val2=434334&val3=4343”
变量url=”http://server/cgi-bin/status.py?“+queryString;//现在您有了完整的URL
//然后,您可以向将发送邮件的服务器端脚本发送AJAX请求
$.ajax({
网址:'http://server/cgi-bin/email.py“,//您的电子邮件脚本
方法:“POST',//或获取任何内容
数据:{
url:url,
电邮:'recipient@domain.com'
},
...
})
})
})

什么是url?这是您表单中的一个字段吗?您好,欢迎使用SO。我想您可能需要查看此链接,以便从该组中获得更好的结果。OP希望url是路径到脚本+查询字符串。您的代码返回当前文档+查询字符串的url。OP希望url是路径到脚本+查询字符串。Your代码返回当前文档的url+查询字符串