[英]Why can't I get the correct textbox value on Razor page?
這是帶有文本框和警報框的簡單網頁,可在剃刀視圖頁面上顯示其值:
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
</head>
<body>
@using (Html.BeginForm())
{
<div>
@Html.Label("Enter your name")
@Html.TextBox("txtName")
</div>
<input type="button" id="btnPost" value="Load Data using Post" />
<script>
$(document).ready(function () {
//$("#txtName").keyup(function () {
// alert(this.value);
//});
var originvalue = $("#txtName").val();
$("#btnPost").click(function () {
alert(originvalue);
});
});
});
</script>
}
</body>
</html>
我已經獲取了文本框值並將其分配給var originvalue
。 現在,我想在警報框中顯示此值。 這是某種錯誤嗎? 我不知道這里缺少什么。
問題是因為僅在頁面加載且input
中沒有值時才設置originvalue
。 如果你想獲取用戶輸入的值時,設置的點擊處理程序內部的變量:
$(document).ready(function () {
$("#btnPost").click(function () {
var originvalue = $("#txtName").val();
console.log(originvalue);
});
});
還要注意,您的原始JS代碼中有一組右括號/括號太多,並且您還應該使用console.log()
來調試alert()
因為前者不強制數據類型。
請更換您的
$("#btnPost").click(function () {
alert(originvalue);
});
與
$("#btnPost").click(function () {
alert($("#txtName").val());
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.