2011-10-24 147 views
4

我怎麼用JQuery來做到這一點?我使用更改事件,但如果我提交或重置表單文本不會再次設置。我需要在輸入內顯示一個文本(它是一個數據貼圖,所以我需要顯示一個日期)。如何在輸入文本爲空時設置默認文本?

怎麼辦?

謝謝!

回答

-1
$('#textbox').blur(function() { 

if($('#textbox').val() == "") { 
    //show the date 
} 


} 
+0

重置後,不會調用「模糊」事件。 – Dail

+0

如果你想在表單提交後檢查它,你可以直接做好檢入文檔 – Johan

-1

其實你的問題不是很清楚,但是,,

var yourVaribale; 

$('yourTextSelector').val(yourVariable) 

ü可以設置輸入文本的價值像上面

+0

如果文本是空的,我需要設置文本,所以在開始時......好的,但是用戶刪除它或發送/重置我需要再次顯示的形式..很遺憾,重置表單後不會調用模糊事件。 – Dail

2

你可以這樣做沒有JavaScript。使用HTML5是更容易:

<input type="text" placeholder="default text" /> 
+0

我需要用javascript來做,因爲在重置表單之後是日期改變javascript需要再次計算日期,它是一個「ajax」應用程序 – Dail

+0

我不知道jQuery,所以我會在Prototype中寫這個:'' $('idOfInputTextBox')。writeAttribute('placeholder',theChangedDateString);' – JoJo

-1

,你可以這樣做

$(document).ready(function(){ 
if ($("input[id$='your textbox id']").val().length == 0 || $("input[id$='your textbox id']").val().trim() == " ") { 
$("input[id$='your textbox id']").val("something"); 
}); 
+0

document.ready將在每次加載頁面時被調用,所以即使用戶刪除它或發送/重置表單,這應該工作 – Mac

+8

重置表單重置按鈕不會重新加載頁面。 –

+0

well document.ready不是主要部分主要部分是替換文本,您可以添加相同的內容,同時重置表格 – Mac

1

下面是我通常做。

<form id="myform"> 
    <input name="box" type="text" value="Type here"> 
</form> 

_

$("input[name='box']", "#myform").bind("blur focus", function() { 
    if ($(this).val() == "") { 
     $(this).val("Type here"); 
    }else if ($(this).val() == "Type here") { 
     $(this).val(""); 
    } 
}); 

而這裏的小提琴來顯示它是如何工作的:http://jsfiddle.net/cR6P8/1/

如果必要,很可能被綁定到Load事件也是如此。

+0

您是否嘗試重置表單?怎麼樣提交頁面,並按下後退按鈕?如果它不起作用,你不會回答這個問題。 –

+0

你呢?重置按鈕工作得很好,看看:http://jsfiddle.net/cR6P8/3/ - 當瀏覽器返回按鈕被點擊時,誰希望表單字段變爲默認值。如果有人提交表單然後點擊瀏覽器後退按鈕,他們就會輸入錯誤的內容,而不想再次輸入所有內容,而只是改變他們已經輸入的內容。這是其中的一種瀏覽器操作,不應該擺弄,但如果真的需要,我想以某種方式綁定到瀏覽器歷史記錄是可能的。 – adeneo

相關問題