2013-04-26 107 views
6

我想沒有提交按鈕,當用戶選擇一個值時,有任何表單可以提交的方式嗎?PHP提交選擇

<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" > 

    <table class="form"> 

      <select name="category" class="formfield" id="category"> 
       <option value="-1"> Category </option> 
       <?php 
        $sql_contry = "SELECT * FROM category"; 
        $rs_c = mysql_query($sql_contry); 
        while ($row_c = mysql_fetch_array($rs_c)) { 
         echo '<option value="'.$row_c['category'].'">'.$row_c['category'].'</option>'; 
        } 
       ?> 
      </select> 

    </table> 

</form> 
+0

是的,通過使用javascript! – adeneo 2013-04-26 19:56:13

+0

你必須使用Javascript來做到這一點。 – 2013-04-26 19:56:20

+0

使用javascript。一個類似的例子在這裏:http://stackoverflow.com/questions/10021848/enable-disable-submit-button-if-checkbox-is-checked-unchecked – 2013-04-26 19:58:33

回答

2

是 - 使用JavaScript:

HTML:

<form id="frm"> 
    <select onchange="onSelectChange();"> 
      <option>1</option> 
      <option>1</option> 
    <select> 
</form> 

JS:

function onSelectChange(){ 
document.getElementById('frm').submit(); 
} 
+1

你實際上需要讓js函數接受一個參數或某物使其實際上有用。你不能用這個:)添加2個選擇列表。 +1 – 2013-04-26 19:59:27

+0

我只是向他展示瞭如何做到這一點,而不會讓他困惑太多...... – Adidi 2013-04-26 20:04:57

+1

是的 - 只是我的分毫,如果OP發現它令人困惑。 – 2013-04-26 20:06:48

20

下面的例子

<form> 
    <select name='myfield' onchange='this.form.submit()'> 
     <option selected>Milk</option> 
     <option>Coffee</option> 
     <option>Tea</option> 
    </select> 
    <noscript><input type="submit" value="Submit"></noscript> 
</form> 

使用noscript標記可以使尚未啓用JavaScript的瀏覽器仍能正常工作。如下

+8

+1非JS用戶優雅退化 – Moses 2013-04-26 20:01:02

+0

誰今天使用'noscript',爲什麼這裏有關? – Adidi 2013-04-26 20:08:47

+0

@Adidi

0

只是改變代碼,我還沒有檢查代碼,所以可能會有一些錯誤,如資本/小寫字母我不知道像,它的提交()或提交()等..

<script language="javascript"> 
function submitForm(){ 
    var val = document.myform.category.value; 
    if(val!=-1){ 
     document.myform.submit(); 
    } 
} 
</script> 
<form method="post" name="myform" action="<?php echo $_SERVER['PHP_SELF'] ?>" > 

    <table class="form"> 

      <select name="category" class="formfield" id="category" onchange="submitForm();"> 
       <option value="-1"> Category </option> 
       <?php 
        $sql_contry = "SELECT * FROM category"; 
        $rs_c = mysql_query($sql_contry); 
        while ($row_c = mysql_fetch_array($rs_c)) { 
         echo '<option value="'.$row_c['category'].'">'.$row_c['category'].'</option>'; 
        } 
       ?> 
      </select> 

    </table> 

</form> 
+0

謝謝,但我複製並粘貼了代碼,並由於某種原因它不提交。我尋找大寫/小寫字母的錯誤,但找不到任何。有什麼想法嗎? – 2013-04-27 22:37:15