2013-11-20 43 views
0

我有一個PHPHTML的基本總和示例,在此PHP頁面內,重置按鈕僅重置前兩個輸入字段,並且不會重置第三個應答字段。我不知道這是什麼錯誤,因爲我是PHP的新手。有人請幫我解決這個問題。HTML重置按鈕無法正常工作

代碼

<html> 
<head> 
<title>Title goes here</title> 
</head> 
<body> 

<form action="" method="post"> 
<label>Enter Num1:</label> 
<input type="text" name="num1" id="num1" /><br> 
<label>Enter Num2:</label> 
<input type="text" name="num2" id="num2" /><br><br> 

<input type="radio" name="rad" value="add"/>addition 
<input type="radio" name="rad" value="sub"/>sub 

<input type="submit" name="btn_submit" value="fire"> 

<?php 
    if(isset($_POST['btn_submit'])) 
    { 
     $num1 = $_POST['num1']; 
     $num2 = $_POST['num2']; 
     $rad_val = $_POST['rad']; 
     if($rad_val=="add"){ 
     $total = $num1+$num2;  
     } 
     else if($rad_val=="sub"){ 
     $total = $num1-$num2; 
     }  
     echo "<SCRIPT TYPE=\"text/javascript\"> 

document.getElementById(\"num1\").value= $num1; 
document.getElementById(\"num2\").value= $num2; 
</SCRIPT>"; 
     echo "<label>Answer is:</label> <input type=\"text\" name=\"rad\" value = $total />"; 
     echo"<input type=\"reset\" name=\"reset\" value=\"reset\" />"; 

    } 
    else if(isset($_POST['reset'])){ 
    echo "<script>window.location = 'your_page.php';</script>"; 
    } 
?> 


</form> 


</body> 
</html> 
+0

我想你誤解了'type = reset' [示例如何工作](http://jsfiddle.net/zGayA/)它不是一個帖子,但它重置輸入值。如果你想刷新頁面,爲什麼不只是'Reset'? –

回答

1

復位功能加載your_page.php。因此,該頁面上的初始值可能需要更改爲0.您可以舉一個your_page.php的例子嗎?

您可以通過更改線路

echo"<input type=\"reset\" name=\"reset\" value=\"reset\" />"; 

觸發頁面刷新

echo"<input type=\"reset\" name=\"reset\" value=\"reset\" onclick= \"window.location = 'your_page.php';\"/>"; 

OR

甚至更​​好。只需將答案中的值重置爲0,這將保存在頁面重新加載。

添加一個ID結果字段:

<input type=\"text\" name=\"rad\" id=\"rad\" value = $total />"; 

和變革的復位點擊TE值/

echo"<input type=\"reset\" name=\"reset\" value=\"reset\" onclick= \" document.getElementById(\"rad\").value= 0;\"/>"; 
+0

其當前頁面我使用該行重新加載相同的頁面,使它不檢查'else if(isset($ _ POST ['reset']))'condition –

+0

好的,首先。當你在做一個重定向,如 echo「」; 表單未發佈。因此該頁面只是重新加載。 isset($ _ POST ['reset'])因此永遠不會成立。 我將更新我的答案以顯示正確使用重置按鈕。 – jimfromsa

+0

頁面重新加載正在工作謝謝.. –

1

與jQuery你可以恢復到任意值,但你淨防止默認動作:

實施例:

$('#Reset').click(function(){ 
    event.preventDefault(); 
    $('#element').val('default'); 
    $('#element2').val('default'); 
    $('#element3').val('default');  
});