我想使用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