2011-08-10 22 views
1

如果用戶沒有給任何值的文本框值0(零)設置模糊,但文本框不應該顯示值我怎麼能做到這一點使用jQuery如何隱藏文本框的值使用jquery

<g:textField name="distance" id = "distance" value="${tripInstance?distance}" min="0" class="number" /> 

回答

1

您不能將「value」作爲顯示值。

只有你能夠做到的方式是截取表單提交併預先填入默認值,如果沒有輸入。

如果做不到這一點,交給它的最好的地方就是在服務器端,最終在這種事情發生的地方。這就是說,你永遠不應該依賴JavaScript來設置/強制執行默認值,因爲用戶可能沒有啓用JavaScript,或者更糟糕的是他們在發送給你之​​前正在操作它們。

在這方面,JavaScript應該被認爲是髒的。

退一步來說,你可以這樣做:

<input type="hidden" name="distance" id = "disatance_default" value="0" /> 
<g:textField name="distance" id = "distance" value="${tripInstance?distance}" min="0" class="number" /> 

我想,如果沒有被輸入到「文本框」就不會被髮送回服務器,因此隱藏的輸入字段相同的名字將優先。

該名稱的最後一個字段(包含一個值)將始終是發送回服務器的那個字段。

1

我沒有看到這樣做的原因。爲什麼你需要將它設置爲0而不顯示它..如果你需要對這個值做一些處理,那麼檢查這個值是否設置。如果不是,則選擇0.