2012-06-11 8 views
-3

Я пытаюсь отправить форму с помощью jQuery. Мой код до сих порОтправить форму с помощью флажка

JQuery:

$(document).ready(function() { 
    $("#display").on("change", "input:checkbox", function() { 
     $("#display").submit(); 
    }); 
}); 

PHP:

<form id="display"> 
    <input type="checkbox" name="hd" value="1" 
     <?php 
     if ($_SESSION['hd'] == 1) { 
      echo "checked=\"checked\""; 
     } 
     ?>>HD 
    <input type="checkbox" name="sd" value="1" 
     <?php 
     if ($_SESSION['sd'] == 1) { 
      echo "checked=\"checked\""; 
     } 
     ?>>SD 
</form> 

Передать функции отлично работает, но он не сохраняет значения в виде, кажется, представить обжигают до того значений . Что может быть сделано?

+3

От имени разработчиков повсюду, не могли бы вы прекратить писать массивные oneliners jQuery? Это делает какой-то наименее разборчивый код. И ради того, чтобы все пытались вам помочь, можете ли вы разбить свой '

' на читаемый вложенный HTML-код? – meagar

+6

Люди не ожидают, что флажки будут отправлять формы. Вместо этого используйте кнопку отправки. – Quentin

+0

Используйте http://jsbeautifier.org/, чтобы сделать ваш JS-код доступным для чтения в следующий раз, пожалуйста. =] –

ответ

2

кажется подать обжигают до того значения присваиваются

проверяют $_SESSION[] для вашей ценности? Это просто не будет установлено из представления формы. Вероятно, вы имеете в виду $_POST['hd'].

+0

Невозможно использовать кнопку «отправить». Обработка на стороне сервера прекрасна, за исключением того, что подача увольняется до изменения SD или HD. Я попробовал поиск, но не смог найти решение. – daydreamer

+1

@Truth - потому что OP говорит, что значения не сохраняются, конечно, они означают серверную сторону. –

+0

@ m.edmondson: Misread, пренебрежение. –