我想获取我在提示中输入的值,并将其保存在变量中以便稍后使用它来更新数据库..我试试这个但是不起作用!!
@{
var fileName = "";
var db = Database.Open( "GP" );
var sqlupdate = "Update rc_Files set fileName=@0 Where fileID= 5";
db.Execute(sqlupdate, fileName);
}
<html lang="en">
<body>
<script>
function myFunction() {
newName = prompt("Please enter new file name :");
if (newName != null)
{
@fileName = newName;
}
}
</script>
</body>
</html>
答案 0 :(得分:1)
JavaScript是客户端语言。您无法使用它更新数据库。您可以向服务器端脚本发送请求,该脚本将更新数据表中的内容。
您可以找到执行此操作的示例here或use google。
答案 1 :(得分:0)
试试这段代码:
$(document).ready(function() {
var fileName = '';
var newName = prompt('Please enter a new file name');
if(newName != null) {
fileName = newName;
console.log(fileName);
}
});
它获得您通过javascript输入的值。
<强> Demo here 强>
答案 2 :(得分:0)
从你的问题不清楚你的目标是什么。
如果您希望在页面中存储值,等待页面发布时使用它,您可以使用隐藏的输入字段。
在我的示例中,存储加载页面时输入的值,直到用户单击提交按钮为止:
@{
if(IsPost){
var fileName = Request["fileName"];
var db = Database.Open("GP");
var sqlupdate = "Update rc_Files set fileName=@0 Where fileID= 5";
db.Execute(sqlupdate, fileName);
}
}
<html lang="en">
<head>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>
<form method="post">
<input type="hidden" name="fileName" id="fileName" value="" />
<input type="submit" />
</form>
<script>
$(document).ready(function () {
var newName = prompt('Please enter a new file name');
$('#fileName').val(newName);
});
</script>
</body>
</html>
否则,如果您想在不提交页面的情况下更新数据库,则应使用Ajax。本文可以帮助您:Posting Data With jQuery AJAX In ASP.NET Razor Web Pages。