2011-10-17 275 views
1

我有兩個按鈕提交表單。在新窗口中打開窗體

的代碼是:

<form action="index.php" method="get"> 
    <table cellpadding="2" cellspacing="3"> 
     <tr> 
      <td><input type="text" name="q" size="20" /></td> 
     </tr> 
     <tr> 
      <td> 
       <input type="submit" name="site" value="site search" class="submit" />&nbsp; 
       <input type="submit" name="google" value="google search" class="submit" /> 
      </td> 
     </tr> 
    </table> 
</form> 

我想的是,如果你按下按鈕,谷歌搜索結果會在新窗口中打開。我認爲它應該用JavaScript來完成。

+1

不是JavaScript,只需在表單標籤上設置target =「_ blank」即可。 – switz

+0

可能重複[如何在新窗口中打開窗體結果?](http://stackoverflow.com/questions/4866782/how-can-i-open-a-form-result-in-a-new -window) –

回答

5
<form action="http://www.google.com/search" method="get" target="_blank"> 
+0

我認爲他需要兩個提交按鈕的不同行爲。第一個只是一個提交,後者要求谷歌給予查詢字段是相同的兩個行動 – Eineki

+0

@Eineki所以使用2個diff表單使用相同的輸入 – Neal

0

在index.php中,您可以根據按下哪個按鈕來執行單獨的函數。例如:

<?php 
if(isset($_GET('google'))&&isset($_GET('q'))){ 
    header('Location: http://www.google.ca/search?q=' . $_GET('q')); 
} 
if(isset($_GET('site'))&&isset($_GET('q'))){ 
    //function here 
} 
?> 
0

你確實可以做到這一點通過JavaScript:

<script type="text/javascript"> 
    function OpenGoogleSearch() { 
     var q = document.getElementById("google").value; 
     window.open("http://google.com/search?q=" + q); 
    } 
</script> 

這確實需要形式來稍微改變:

<form action="index.php" method="get"> 
    <input id="google" type="text" name="q" size="20" /></td> 
    <input type="submit" name="site" value="site search" class="submit" />&nbsp; 
    <input type="button" name="google" value="google search" class="submit" onclick="OpenGoogleSearch()" /> 
</form> 

JavaScript的使用文本的id字段(您應該添加)來獲取輸入的值。谷歌搜索不是提交,而是使用帶有onclick屬性的普通按鈕,該屬性調用javascript函數。

請注意,這隻會在新窗口中打開谷歌搜索;如果你想在新窗口中打開「網站搜索」,你應該添加target="_blank",就像Neal說的那樣。