2010-06-12 25 views
0
... нет Да: Нет: "/>

Во всяком случае, так что я есть это Javascript также, что информацию Апартаменты в Нетании вывода на insertSC.php:радио кнопки на PHP

function DoSCInsert(){ 
    $("#SCres").html("to sek.."); 
    var nocache = '0'; 
    var data = { fID : $("#fID").val(), SCvote : $("#SCvoteY").val(), SCvote : $("#SCvoteN").val(), comment: $("#comment").val(), nocache: nocache }; 
    $.get('insertSC.php', data, onSCInsertComplete); 
} 
function onSCInsertComplete(data,textstatus){ 
    $("#SCres").html(data); 
} 

и в мой insertSC.php у меня есть это:

<?php 
echo $_GET['comment']." - ".$_GET['SCvoteY']; 
?> 

Теперь я выйти комментарий, но не SCvoteY .... это просто тест я сделал то, что я был действительно сделать это что вы голосуете Y или N, а затем вставляете в колонку голосования Y или N (что вы подбираете) теперь я не мог понять, как это сделать/что-то пошло не так где-то, и теперь я не могу даже выйти из SCvoteY, я просто получаю undefined индекс

Что мне нужно, это то, что я просто упоминаю, когда хочу выбрать Y или N, он должен выводить то, что вы выбираете. Если вы не выбрали какой-либо (пустой isset?), То false .. else echo Y или N (что вы выбрали)

ответ

0

Это потому, что имя вашего переключателя - «SCvote», а не «SCvoteY» ... Вам нужно чтобы получить значение «SCvote», которое будет либо «N», если они выбрали «нет», «Y», если они выбрали «да», или «», если они их никогда не выбрали. Редактировать: Я не уверен точно, как работает функция jQuery GET, но я уверен, что вы всегда будете получать значение no, поскольку вы определяете оба из них в данных, а не проверяете, какой из них выбрал и определил только тот.

Как работают радиокнопки: Каждое должно иметь одно и то же имя, в данном случае «голосовать», что позволяет ему выбирать только одну кнопку в группе. Когда вы отправляете эти данные, значение представляет собой значение, определенное для того, которое было выбрано при его отправке, или пустое, если ни один не был выбран. Получение значения по ID будет всегда вернуть указанное значение, вам нужно проверить, проверено ли оно. Проверенное значение будет либо истинным, либо ложным в зависимости от того, выбрана ли эта кнопка.

+0

как проверить тогда? я имею в виду из моего кода вместо $ _GET ["SCVoteY"]; как я должен отозваться от имени «голоса»? – Karem

0

Насколько я могу судить, вы проходите SCvote в insertSC.php дважды, но не SCvoteY. Это просто опечатка. Поскольку вы используете его дважды, SCvoteN будет всегда перезаписать его значение, и вы пытаетесь эхо SCvoteY, которого у вас нет.

0

Используйте JQuery's .serialize() вместо того, чтобы разбирать результат самостоятельно.

Редактировать Вам нужно сделать три вещи:

  1. (необязательно) Удалить id ATTRIB из кнопок радио - они не нужны
  2. Измените DoSCInsert() функцию использовать .serialize()
  3. Изменить ваш PHP-код для поиска правильного имени параметра.

В надрезы код следуют:

HTML

<form action="javascript:DoSCInsert()" method="post"> 
<textarea onfocus="this.cleared=true;javascript:clearContents(this);" rows="5" cols="40" id="comment" name="comment">...</textarea> 
Yes: <input type="radio" value="Y" name="vote"/> No: <input type="radio" value="N" name="vote"> 
<input type="hidden" name="fID" id="fID" value="<? echo $_GET["id"]; ?>" /> 
<input onsubmit="if (!this.comment.cleared) clearContent(this.comment); return true;" type="submit" name="Submit" value="Stem!"/> 
</form> 

JS

function DoSCInsert(){ 
    var data = $('form').serialize(); 
    $.get('insertSC.php', data, onSCInsertComplete); 
} 

PHP

echo $_GET['comment']." - ".$_GET['vote']; 

Наконец, для ввода не требуется закрывающий тег, введите радио; поэтому я также достал два </input> с.

+0

Можете ли вы дать мне пример, пожалуйста, я не так много понимаю из базы данных jquery – Karem

Смежные вопросы