2012-01-03 188 views
2

我有這個簡單的代碼:自動提交HTML表單自PHP

<? 
if (isset($_POST["phpinfo"])) phpinfo(); else echo "you haven't chosen what to do yet"; 
?> 
<h1>Test page 1</h1> 
<form method="post" action=""> 
<select> 
<option>Choose what to do</option> 
<option value='phpinfo'>phpinfo();</option></select></form> 

的問題是,如果我使用JavaScript(的onChange =「this.form.submit()」),以自動提交發布數據,但它沒有提交,但如果我使用提交按鈕,它確實提交給自己。

<input type="submit" name='phpinfo' id="phpinfo"> 

我的問題是,我有什麼做的,所以我可以有一個提交POST數據到自自動提交下拉列表?

在此先感謝!

+0

先給了''

一個'ID = 「」'和使用'的document.getElementById()。提交()'來代替。 – DaveRandom 2012-01-03 11:13:31

回答

5

你的選擇需要被命名。選擇名稱是返回給PHP的名稱,其值將是所選選項的值。

<select name="performaction"> 
    <option value="phpinfo">phpinfo()</option> 
</select> 

if ($_POST [performaction] == 'phpinfo') 
{ 
    phpinfo(); 
} 
+0

謝謝,它的工作! – 2012-01-03 12:27:37

0

嘗試:

 

//add a name to form 
<form method="post" action="" name="some_name"> 

//then on your select's onchange function do: 
document.forms['some_name'].submit(); 
 

希望它可以幫助

1
<?php 

if($_POST['txtVal'] != "") { 
      echo "Form Submited"; 
     } 
?> 


<form method="post" action=""> 
    <select name="txtVal" onchange="this.form.submit();"> 
     <option>Choose what to do</option> 
     <option value='phpinfo'>phpinfo();</option></select> 
</form> 

希望它會爲你的作品。

+0

+1:這正是我想要的。 – OneThreeSeven 2012-04-01 16:38:00

0
<?php 

if(isset($_POST['selctVal']) && $_POST['selctVal']!="") 
{ 

    echo "Form Submited =><br/>"; 

    echo "Form Submited =>".$_POST['selctVal']; 
} 
else 
{ 
    echo "you haven't chosen what to do yet"; 

} 
?> 


<form method="post" action="" name="anyformname"> 
    <select name="selctVal" onchange="document.anyformname.submit();"> 
     <option>Choose what to do</option> 
     <option value='<?php echo phpinfo();?>'>phpinfo();</option> 
    </select> 
</form>