2013-04-26 15 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

+0

これを行うにはJavascriptを使用する必要があります。 –

+0

JavaScriptを使用してください。同様の例がここにあります:http://stackoverflow.com/questions/10021848/enable-disable-submit-button-if-checkbox-is-checked-unchecked –

答えて

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 –

+0

私はちょうど彼にあまりにも多くの人を混乱させることなくそれを行う方法を示していた... – Adidi

+1

ええ - OPはそれが混乱している場合のためにちょうど私のセント。 –

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

non-jsユーザでの優雅な分解のための+1 – Moses

+0

ここで 'noscript'をいつ誰が使うのですか? – Adidi

+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

ありがとうございますが、コードをコピーして貼り付けて何らかの理由で提出しません。私は大文字/小文字の誤りを探したが、何も見つけられなかった。何かご意見は? –

関連する問題