我想使用JavaScript彈出框(提示)在我的網站上獲取一些用戶輸入,然後根據用戶的操作在服務器端執行一些更多操作。客戶端數據到服務器端
彈出框是缺少單詞彈出。
以下是我曾嘗試使用此代碼:
<div>
<asp:HiddenField ID="hidden" runat="server" />
</div>
<script>
function userInput() {
var reason = prompt("Enter reason for deleting:", "");
//User pressed okay but didn't type anything
while (reason == "") {
//Keeps cycling until reason given or cancel is hit
reason = prompt("Enter reason for deleting:", "");
}
if (reason != "" && reason != "Code:CancelDelete") {
//User typed something and hit okay
document.getElementById('hidden').innerHTML = reason.toString();
$('#deleteReason').val(reason.toString());
$("#hidden").val(reason.toString());
}
else {
//User hits cancel
document.getElementById('hidden').nodeValue = "Code:CancelDelete";
}
}
</script>
腳本中的while循環適用於什麼,我需要做的。我可以告訴的問題是試圖設置HiddenField的值。我曾嘗試以下方法:
- 的innerHTML
- 的innerText
- 的nodeValue
雖然尋找到這一點,我已經看到.value的使用了很多,並沒有嘗試過自己,但是當我去鍵入document.getElementById('hidden')。value =,沒有彈出選項或說明。值。
我測試了服務器端代碼,所以我知道這是有效的。這一切都歸結爲獲取用戶輸入。無論哪種方式,這裏是從C#代碼摘錄:
string deleteReason = hidden.Value;
//string deleteReason = test.InnerHtml.ToString();
if (deleteReason.Equals("Code:CancelDelete"))
{
}
else if (!deleteReason.Equals("Code:CancelDelete") && !deleteReason.Equals(""))
{
或多或少地在這一個損失。
更新1: 這裏是在客戶端瀏覽器(Firefox)的隱藏字段生成的HTML代碼:
<input name="ctl00$IndividualPageContent$hidden"
id="IndividualPageContent_hidden" type="hidden">
什麼是隱藏字段的實際客戶端HTML? – David
@David顯示我定義隱藏字段的那一點點是我對它的唯一位。 – TGills
查看生成的實際客戶端HTML。 JavaScript代碼將與瀏覽器中的HTML進行交互,而不是ASP.NET服務器端代碼。 – David