2016-11-11 1241 views
1

我是一個新手,當涉及到的JQuery或Javascript - 所以道歉,如果這是一個簡單的一個...獲取表單URL沒有提交

基本上,我有一個GET形式 - 這是我需要攔截 - 這意味着當按下提交按鈕時,我需要調用JavaScript而不是實際提交表單。我想有完整的URL作爲輸出......像......

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

形式 -

基本上,我需要的形式來處理的URL,好像它提交,但不提交。主要要求是這個鏈接小瓶郵件發送給客戶,使他們能夠使用這個鏈接

由於跟蹤作業進度, 王子

+0

是什麼網址?這是你的表單中的一個字段嗎? – mrid

+0

你好,歡迎來到SO。我想您可能需要查看此鏈接,以便從該組獲得更好的結果。 http://stackoverflow.com/help/how-to-ask –

回答

1

如果您需要使用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: '[email protected]' 
      }, 
      ... 
     }) 

    }) 
}) 


</script> 
+0

OP希望URL爲path_to_the_script + query_string。您的代碼返回當前文檔的url + query_string –

+0

True!我將立即編輯我的帖子 –

1

這東西就像這樣

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

    event.preventDefault(); 
}); 

event.preventDefault()確保表單實際上未提交。

url然後包含一個完整的URL,其中包含所有表單屬性。

+0

OP希望url是path_to_the_script + query_string。您的代碼返回當前文檔的url + query_string –