2013-09-16 42 views
-1

我有一個表單,我希望在用戶更改他/她的選擇時清除可選字段。我得到了添加或刪除可選選項的表單,但是如果用戶在可選字段中鍵入文本,然後改變他/她的想法,並點擊取消按鈕,那麼我希望清除可選字段中的值。我需要這個,因爲當提交表單時,如果可選字段中沒有新日期提交給數據庫,則可選字段爲空是很重要的。關閉時清除表單輸入字段

<form> 
     <a href="#" class="show_hide">+ Add New</a> 
     <div class="slidingDiv"> 
     Artists name: <input type="text" name="name"> 
     Artists info: <textarea name="info" cols="65" rows="15"></textarea> 
     <a href="#" class="show_hide">Cancel</a> 
     </div> 
    </form> 

-

$(document).ready(function(){ 

    $(".slidingDiv").hide(); 
    $(".show_hide").show(); 

$('.show_hide').click(function(){ 
$(".slidingDiv").slideToggle(); 
}); 

});

+0

我無法弄清楚問題及相關問題。重現代碼,給出了非常奇怪的結果,這會讓你的Q更加難以理解。你在父元素上使用HIDE,在子元素上使用HIDE ......這不夠奇怪嗎?希望我在這個評論中回答了你的問題BTW –

+0

對不起,我忘了添加添加選項的鏈接。我也有兩個領域,我猜想它複雜化,可能是爲什麼一個簡單的.val('');不這樣做? –

回答

0
$('.show_hide').click(function(){ 
    $(".slidingDiv").slideToggle(); 
    $(".slidingDiv input").val(""); 
    $(".slidingDiv textarea").val(""); 
    $(".slidingDiv textarea").html("") 
}); 

這會將該字段的值更改爲「」或空白。

注:Textarea在那裏兩次,因爲我相信某些瀏覽器不記錄文本區域的內容爲value,而是innerHTML

編輯:如果要清除特定字段,請將id指定給HTML中的該字段,然後使用jQuery清除其值。

例如:

<input type="text" name="customerName" id="myInputField" /> 
<textarea name="customerResponse" id="myTextarea" /></textarea> 

...然後你的jQuery:

$("#myInputField").val(""); 
$("#myTextarea").val(""); 

所以,如果你給.slidingDiv inputid 「myInputField」,而你只是想清除輸入和NOT textarea的,那麼你的jQuery的是這樣的:

$('.show_hide').click(function(){ 
    $(".slidingDiv").slideToggle(); 
    $("#myInputField").val(""); 
}); 

這是真的,真的,非常基本的jQuery,所以在進入StackOverflow尋求幫助之前,請確保你看過一些教程!

+0

感謝您的回覆。這不適合我。如果我再次點擊添加按鈕,舊文本仍然可以在文本字段中看到。它依賴於瀏覽器嗎? –

+0

哦。那是因爲我是個傻瓜。 '.val(「」)'必須附加到用戶鍵入其輸入的元素。現在編輯以上... – RobertAKARobin

+0

啊!非常感謝! :D現在,有一個問題,在這個例子中,我沒有任何其他的文本字段在切換部分之外,但是切換部分下面的字段上的文本也被清除。有沒有辦法確定哪些字段應該生效,以便其他字段不會被清除,只有可選字段中的字段纔會被清除?謝謝! –