2010-05-30 40 views
0

所以我在我的形式有這樣的:我的形式問題發出

<textarea onfocus="javascript:clearContents(this);" rows="5" cols="40" id="comment" name="comment">Skriv hvorfor du vælger at stemme ja/nej. Skal indeholde detaljer, kritik/råd. Klik for at skrive</textarea><br /> 
Ja: <input type="checkbox" value="Y" id="SCvote" name="SCvote"> eller Nej: <input type="checkbox" value="N" name="SCvote"> 

現在聚焦狀態(當你點擊框),它會清除文本「Skriv hvorfor ......」,但如果你不寫什麼並仍然提交它,我的PHP代碼認爲它包含的東西,並插入文本「Skriv hvorfor ...」。

另一個問題是複選框。如果我不選擇任何東西,它會插入「Y」,即使我選擇其他的「N」,它也會選擇「Y」,我不希望它可能會檢查它們兩個。我該怎麼做? clearContents中的

定義:

function clearContents(element) { 
    element.innerHTML = ''; 
} 

回答

0

這裏,這將做到這一點:

<HTML>
<頭>
<腳本類型= 「文/ JavaScript的」 >
VAR defaultTxt ='Skriv hvorfor duvælgerat stemme ja/nej。
Skal indeholde detaljer,kritik /råd。 Klik for skrive';
< /腳本>
< /頭>
< 體的onload = 「JavaScript的:的document.getElementById( '註釋')值= defaultTxt;」 >
< 形式方法= 「POST」 行動= 「response.php」 >
< textarea的的onfocus = 「JavaScript的:的document.getElementById( '註釋')值= '';」行= 「5」
COLS = 「40」 ID = 「評論」 名稱= 「評論」 >
</textarea的> < BR/>
JA:< INPUT TYPE = 「無線電」 的值= 「Y」 名稱= 「投票」 >
埃勒NEJ:< INPUT TYPE = 「無線電」 的值= 「N」 名稱= 「投票」 >
< INPUT TYPE = 「提交」/ >
< /形式>
< /體>
</html >

通過更改爲單選按鈕,您只能在帖子中獲得是或否的答案。我不完全確定,但我懷疑,通過不實際更改元素值,默認文本仍然張貼。我可能會過度使用我寫的所有代碼,但它確實有效。

+0

功能clearContents中(元素){ element.innerHTML =「」;} 。 – Karem 2010-05-30 17:10:52

0

您可以將您的複選框變成單選按鈕(使用type =「radio」),因爲您只需要1個答案而不是兩個答案。另外,在你的php代碼中,首先檢查comment =「kriv hvorfor duvælgerat stemme ja/nej。」的值。Skal indeholde detaljer,kritik /råd。的點擊在skrive」如果是這樣,把一個空白註釋或捕獲錯誤,並告訴用戶鍵入評論

+0

好吧,我做的這一點,但還是它爲什麼做「Y」全自動沒有采摘,而當我按Nej「N」時也一樣? – Karem 2010-05-30 17:22:41

+0

不要在你的Y單選按鈕上放一個ID。如果您需要輸入一個ID,請確保其與您單選按鈕的名稱不同。 like id =「SCVoteYes」or something – corroded 2010-05-30 17:56:32

+0

就像現在這樣: Ja: Nej:它仍然只是插入Y當我按下N radiobuttion。而我不想插入Y,如果我沒有選擇任何東西 – Karem 2010-05-30 18:19:49

0

對於checkboxes if you want to only pick one of the two then you need to use radio`按鈕

對於textarea的,你應該檢查提交如果文本已更改,如果沒有明確的吧.. 即

<form onsubmit="if (!this.comment.cleared) clearContent(this.comment); return true;"> 
<textarea onfocus="this.cleared=true;javascript:clearContents(this);" rows="5" cols="40" id="comment" name="comment">...</textarea> 
+0

我試過你的例子它不會工作,它只是插入「...」 – Karem 2010-05-30 17:33:43