从Javascript获取值

时间:2014-05-17 20:46:52

标签: javascript html razor webmatrix

我想获取我在提示中输入的值,并将其保存在变量中以便稍后使用它来更新数据库..我试试这个但是不起作用!!

@{
    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>

3 个答案:

答案 0 :(得分:1)

JavaScript是客户端语言。您无法使用它更新数据库。您可以向服务器端脚本发送请求,该脚本将更新数据表中的内容。

您可以找到执行此操作的示例hereuse 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