2016-07-25 171 views
0

我有一個隱藏的字段,我在點擊按鈕時保存了一個值。但是在頁面加載時沒有賦值給它。我需要知道如何設置隱藏字段的默認值。設置隱藏字段的默認值

當按鈕被點擊然後在JS函數中訪問它時,我在隱藏字段中保存了一個字符串。但在頁面加載時,JS函數返回未定義值錯誤,因爲隱藏字段的值在頁面加載時未設置。

function Confirm() { 
var nom = document.getElementById('hdNomValue').Value; 
if (nom != "") 
    { 
     // logic here 
    } 
} 
+0

是否在MVC應用程序? –

+0

或者爲隱藏字段分配一個值屬性,如

+0

。ASP.NET與vb – Abdul

回答

0

嘗試使用此

if (nom !== "" && nom !== undefined) 

所以,你的代碼應該被重寫如下

function Confirm() { 
    var nom = document.getElementById('hdNomValue').Value; 
    if (nom !== "" && nom !== undefined) 
    { 
     // logic here 
    } 
} 
+1

爲什麼不!==「」? –

+0

是的,我們也可以這樣做,用!==「」,我會編輯我的答案,謝謝 – ddb

+0

@FlyingGambit:這是什麼意思? – Abdul

2

你可以簡單地用這個

function Confirm() { 
    var nom = document.getElementById('hdNomValue').Value; 
    if (nom) { 
     // logic here 
    } 
} 

嘗試這樣if(nom)會只有當它有n時才返回true空白值。它會返回如果是""undefined

現在接下來的事情,你需要確保有關元素的Id。如果您使用的是帶有runat="server"的asp.net隱藏字段,那麼Id將與您期望的不同。因此,要確保你已經在asp.net標記指定ID仍然相同,則使用ClientIdMode="Static"

+1

其簡單和更好。謝謝。 – Abdul

1

你也可以這樣做:

if (nom != "" || nom != undefined) { 
    //Your Logic 
} 
+0

你在代碼中有一個額外的「}」... – ddb

+0

檢查我的編輯版本。是工作 ? – Noman

+0

是的,就像我的,它是相同的:) – ddb

-2

你在使用jQuery或JavaScript,如果u使用jQuery的你可以嘗試使用

var nom = $('#hdNomValue').val(); 
+1

沒有人寫他使用jQuery – ddb

+2

請編輯更多的信息。僅限代碼和「嘗試這個」的答案是不鼓勵的,因爲它們不包含可搜索的內容,也不解釋爲什麼有人應該「嘗試這個」。 – abarisone

0

這裏是純文本,HTML中的密碼字段只有你可以給一個默認的屬性值。但在HTML的情況下

<input type="hidden" value=""> 

元素默認情況下不會分配該值。

如果你想使用一個隱藏字段的默認值使用與顯示的屬性的文本字段:沒有像

<input type="text" style="display:none" value="Default"> 

否則,如果你有決心使用隱藏的元素纔可以去一個基於JavaScript的檢查解決方案,如

var nom = document.getElementById('hdNomValue').Value; 
if (nom != "" || nom != undefined) 
    { 

    }