2010-06-12 95 views
0
... 是:否: 「/>

無論如何,所以我有這個JavaScript也是tranfers輸出信息到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 ..否則回聲Y或N(你選擇)

回答

0

這是因爲你的單選按鈕的名稱是「SCvote」,而不是「SCvoteY」...你需要以獲得「SCvote」的值,如果他們選擇了「否」,那麼它將是「N」,如果他們選擇了是「Y」,或者如果他們從未選擇過,則爲「」。 編輯:我不確定jQuery GET究竟是如何工作的,但我敢肯定,你總是會得到沒有價值,因爲你在數據中定義它們而不是檢查哪一個是選擇和定義只有那一個。

單選按鈕的工作原理: 每個人都應該有相同的名字,在這種情況下,「投票」,這使得它只有一個組中的按鈕可以選擇。提交該數據時,值是爲提交時選擇的值定義的值,如果未選擇任何值,則爲空。通過ID獲取值將始終返回定義的值,您需要檢查它是否被檢查。根據該按鈕是否爲當前選中的值,選中的值將爲true或false。

+0

如何檢查呢?我的意思是從我的代碼,而不是$ _GET [「SCVoteY」];我應該如何迴應「投票」的名字? – Karem 2010-06-13 18:50:51

0

據我可以告訴你將SCvote兩次傳入insertSC.php,但不是SCvoteY。這只是一個錯字。由於您使用了兩次,SCvoteN將總是覆蓋了它的值,並嘗試回顯您沒有的SCvoteY。

0

使用JQuery的.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> s。

+0

你可以給我例如,我不明白從jQuery數據庫這麼多 – Karem 2010-06-13 18:51:43