2013-04-26 26 views
6

Tôi đang cố gắng không có nút gửi, có cách nào biểu mẫu có thể gửi khi người dùng chọn giá trị không?PHP Gửi trên Chọn

<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

Vâng, bằng cách sử dụng javascript! – adeneo

+0

Bạn sẽ phải sử dụng Javascript để thực hiện điều đó. –

+0

Sử dụng javascript. Một ví dụ tương tự là ở đây: http://stackoverflow.com/questions/10021848/enable-disable-submit-button-if-checkbox-is-checked-unchecked –

Trả lời

2

Có - sử dụng javascript:

Html:

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

js:

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

Bạn thực sự cần phải thực hiện chức năng js lấy một đối số hoặc một cái gì đó để làm cho nó thực sự hữu ích. Bạn không thể thêm 2 danh sách lựa chọn với điều này :). +1 –

+0

Tôi chỉ cho anh thấy làm thế nào để làm điều đó mà không gây nhầm lẫn anh ta quá nhiều ... – Adidi

+1

Vâng - chỉ là xu của tôi trong trường hợp OP thấy nó khó hiểu. –

20

Dưới đây là một ví dụ

<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> 

Sử dụng thẻ noscript nó cho phép các trình duyệt không được kích hoạt JavaScript để vẫn hoạt động.

+8

+1 cho sự xuống cấp duyên dáng với người dùng không phải là js – Moses

+0

người địa ngục sử dụng 'noscript' ngày nay và tại sao điều này có liên quan ở đây? – Adidi

+0

@Adidi Nội dung bên trong phần tử

0

Chỉ cần thay đổi mã như dưới đây, tôi đã không kiểm tra mã để có thể có một số lỗi như vốn/thư nhỏ Tôi không chắc chắn như thế nào, đó là nộp() hoặc Submit() và vân vân ..

<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

Cảm ơn bạn, nhưng tôi đã sao chép và dán mã, và vì lý do nào đó nó không gửi. Tôi đã tìm kiếm các lỗi về vốn/nhỏ nhưng không thể tìm thấy bất kỳ lỗi nào. Có suy nghĩ gì không? –