2011-02-20 11 views
0

我希望有一個提交按鈕(用於默認表單操作),另一個按鈕用於第二個操作。HTML表單提交不顯示javascript輸出

我有以下代碼:

<html> 
<head><title></title> 
<?PHP 
$Input = ""; 
if(isset($_POST['Input'])) $Input = $_POST['Input']; 
?> 
</head> 

<body> 
    <FORM id ="form1" method="post"> 
     Input: <INPUT TYPE = "TEXT" VALUE ="<?php echo $Input;?>" NAME = "Input" SIZE="3"> 
     <INPUT TYPE = "submit" id = "action1" VALUE = "action 1"> 
     <INPUT TYPE = "button" id = "action2" VALUE = "action 2"> 
    </FORM> 
    <br> 

    <script type="text/javascript"> 
     var form = document.getElementById('form1'); 

     form.onsubmit = function() { 
      document.getElementById("php_code_action1").innerHTML="<?php echo "action 1<br>"; ?>"; 
      document.getElementById("php_code_action2").innerHTML=""; 
     }; 

     document.getElementById('action2').onclick = function() 
     {  
      document.getElementById("php_code_action2").innerHTML="<?php echo "action 2<br>"; ?>"; 
      document.getElementById("php_code_action1").innerHTML=""; 
     } 
    </script> 

    <span id="php_code_action1"> </span> 
    <span id="php_code_action2"> </span> 

</body> 
</html> 

的措施2按鈕的點擊工程,我期望,但在「措施1」按鈕,點擊有頁面刷新和動作1消失的輸出。

爲什麼會刷新,以及如何顯示action1的輸出?

+0

這是一個相當混亂的問題。是關於HTML,Javascript還是PHP?你能把你的問題縮小到一種技術嗎? –

+0

你是對的:我很困惑。問題是HTML或JavaScript(不是PHP)。原來你給了javascript部分的修復。謝謝你的幫助。 – tucson

回答

4
form.onsubmit = function() { 
    document.getElementById("php_code_action1").innerHTML="<?php echo "action 1<br>"; ?>"; 
    document.getElementById("php_code_action2").innerHTML=""; 
    return false; 
}; 
1

您可以在您的onsubmit處理程序中編寫return false;以防止通常的操作,即表單提交。然後頁面不應該「刷新」。