【问题标题】:Get a value from Javascript从 Javascript 中获取值
【发布时间】:2014-05-17 20:46:52
【问题描述】:

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

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

【问题讨论】:

    标签: javascript html razor webmatrix


    【解决方案1】:

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

    您可以找到这样做的示例here 或只是use google

    【讨论】:

      【解决方案2】:

      试试这个代码:

      $(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

      【讨论】:

        【解决方案3】:

        从你的问题不清楚你的目标是什么。

        如果您想在页面中存储一个值以在页面发布时使用它,您可以使用隐藏的输入字段。

        在我的示例中,页面加载时输入的值将被存储,直到用户单击提交按钮:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-29
          • 2013-04-28
          相关资源
          最近更新 更多