2013-08-27 32 views
1

腳本這裏的行動:如何改變表單的使用jQuery

$('#txt').click(function(){ 

     $('#formID').attr('action', 'https://www.google.se/'); 

}); 

的Html這裏:

<form method="post" name="myForm" action="http://www.youtube.com/" id="formID" > 

     <input type="button" id="txt" value="Submit" /> 

</form> 

所以基本上我希望發生的是,當我按下提交按鈕的動作的形式將被改爲谷歌和谷歌將打開。這根本不起作用,我不知道爲什麼。 :|

+0

這對我不適用oo – user2722885

+0

你可能想綁定到表單的提交事件,而不是按鈕的單擊事件。 – zzzzBov

+0

我沒有做任何事,只是按下提交按鈕,什麼都不做。 – user2722885

回答

1

這是爲我工作確切的代碼。複製/粘貼到一個新的文件,並試試看。你可以看到我自己的回答,並嘗試j08691的回答(它也有效)。

讓我們知道。

<html> 
    <head> 

     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

     <script type="text/javascript"> 

      $(document).ready(function() { 

       $('#txt').click(function(e) { 
        e.preventDefault(); 
        //window.location.href = "http://google.ca"; 
        $('#test').attr('action', 'https://www.google.se/').submit(); 
       }); 
      }); //END $(document).ready() 

     </script> 
    </head> 

<body> 

    <form id="test"> 
     Fisrt: <input type="text" /> 
     Last : <input type="text" /> 
     <input id="txt" type="submit" value="Go" /> 
    </form> 

</body> 
</html> 
+0

該按鈕不打開谷歌,而是似乎重新加載自己。 – user2722885

+0

好吧,我不知所措。上面的作品在我的系統上打開谷歌。您使用的是什麼瀏覽器(我使用最新的Google Chrome進行測試)。另外,請嘗試使用'window.open',就像[here](http:// stackoverflow。com/questions/7077770/window-location-href-and-window-open-methods-in-javascript) – gibberish

+0

好吧,這似乎現在工作。我所做的只是將jquery版本更改爲1.10.2,而不是您寫的內容。 – user2722885

2

這實際上並不是表單設計的目的,因此您必須重寫表單中提交按鈕的正常行爲。要做到這一點

一種方式是通過jQuery(假設txtID您的提交按鈕的):

$('#txt').click(function(e) { 
    e.preventDefault(); //prevent form from attempting to submit 
    window.location.href = "http://google.com"; 
}); 

注:更新。忘記了 'E'()的函數和括號內e.preventDefault後()

+0

似乎不適用於我:/ – user2722885

+0

如果'txt'是表單的ID,那麼它應該可以工作。你確定你的表單有正確的ID嗎?什麼是確切的'

0

的問題是,你的按鈕是不是一個提交按鈕,所以即使是現在,除非你有其他一些JavaScript或jQuery的你還沒有告訴我們,或者你離開了你的代碼不會做的事你提交按鈕?

無論如何,這是新的jQuery:

$(function() { //Run on page load 
    $('#txt').click(function(e) { 
     e.preventDefault(); //Prevent default action from happening 
     $('#formID').attr('action', 'https://www.google.se/').submit(); //Change the form's action attribute 
     $('#formID').submit(); //Submit the form 
    }); 
}); 

的Html這裏 - 改變類型=「按鈕」類型=「提交」,並改變方法=「郵報」的方法=「獲取」,因爲谷歌沒有按不喜歡的帖子:

<form method="get" name="myForm" action="http://www.youtube.com/" id="formID" > 
    <input type="submit" id="txt" value="Submit" /> 
</form> 
+0

這會爲我打開youtube。 – user2722885

+0

再次嘗試,編輯以包含頁面加載 - 感覺像一個威利。 – 2xAA

+0

啊謝謝,這也是現在正常工作:) – user2722885