Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将@model.ApplicationId从html表单传递到js_Javascript_C#_Html - Fatal编程技术网

Javascript 如何将@model.ApplicationId从html表单传递到js

Javascript 如何将@model.ApplicationId从html表单传递到js,javascript,c#,html,Javascript,C#,Html,我正在尝试做一个自动保存功能,将保存表单数据。我无法将我的ApplicationId从表单传递到JS以自动保存。虽然使用固定id,但自动保存确实有效。我有以下代码: Js代码: window.setInterval(AutoSaveDraft(id), 50000); function AutoSaveDraft(id) { $.post({ url: "/Application/Edit/"+id , data: $("#applicatio

我正在尝试做一个自动保存功能,将保存表单数据。我无法将我的ApplicationId从表单传递到JS以自动保存。虽然使用固定id,但自动保存确实有效。我有以下代码:

Js代码:

window.setInterval(AutoSaveDraft(id), 50000);



function AutoSaveDraft(id) {  
   $.post({
         url: "/Application/Edit/"+id ,
         data: $("#application-form").serialize()
         }).done(function(data, textStatus, jqXhr) {
      if (jqXhr.status === 200) {
          alert("Data Application has been saved");        
          return true;
       }
    });
}
Html代码:

<form asp-action="Edit" id="application-form" name="@Model.ApplicationId" >
...
</form>

...

基本上,我希望@Model.ApplicationId被传递给我的Js,这样我就可以在我的自动保存功能中使用它。

首先,你的间隔是错误的。您所做的是调用一个函数并将结果传递给interval。您需要向它传递一个函数,它可以在需要时调用该函数。您正在立即调用您的函数

接下来,您需要做的就是使用jquerys
attr()
方法,如下所示:

let id='申请表'
window.setInterval(()=>AutoSaveDraft(id),5000);
函数自动保存草稿(id){
让name=$(`${id}`).attr('name'))
console.log(名称)
}

首先,你的时间间隔错了。您所做的是调用一个函数并将结果传递给interval。您需要向它传递一个函数,它可以在需要时调用该函数。您正在立即调用您的函数

接下来,您需要做的就是使用jquerys
attr()
方法,如下所示:

let id='申请表'
window.setInterval(()=>AutoSaveDraft(id),5000);
函数自动保存草稿(id){
让name=$(`${id}`).attr('name'))
console.log(名称)
}

假设您的JS与html位于同一页面上,您只需编写:

window.setInterval(function () {
   var id = '@Model.ApplicationId'; // Turned C# to JS here
   AutoSaveDraft(id);
}, 50000);

function AutoSaveDraft(id) {  
   $.post({
      url: "/Application/Edit/"+id ,
      data: $("#application-form").serialize()
   }).done(function(data, textStatus, jqXhr) {
      if (jqXhr.status === 200) {
          alert("Data Application has been saved");        
          return true;
       }
   });
}
现在让我们假设您的JS在其他地方:

HTML:

也就是说,我建议您使用
data-
属性来传递此类数据。让我们尝试使用
数据应用程序id

<form asp-action="Edit" id="application-form" data-application-id="@Model.ApplicationId">
...
</form>

window.setInterval(function () {
   var id = $("#application-form").data("application-id"); // Retrieve here
   AutoSaveDraft(id);
}, 50000);

...
window.setInterval(函数(){
var id=$(“#应用程序表单”).data(“应用程序id”);//在此处检索
自动保存草稿(id);
}, 50000);

假设您的JS与html位于同一页面上,您只需编写:

window.setInterval(function () {
   var id = '@Model.ApplicationId'; // Turned C# to JS here
   AutoSaveDraft(id);
}, 50000);

function AutoSaveDraft(id) {  
   $.post({
      url: "/Application/Edit/"+id ,
      data: $("#application-form").serialize()
   }).done(function(data, textStatus, jqXhr) {
      if (jqXhr.status === 200) {
          alert("Data Application has been saved");        
          return true;
       }
   });
}
现在让我们假设您的JS在其他地方:

HTML:

也就是说,我建议您使用
data-
属性来传递此类数据。让我们尝试使用
数据应用程序id

<form asp-action="Edit" id="application-form" data-application-id="@Model.ApplicationId">
...
</form>

window.setInterval(function () {
   var id = $("#application-form").data("application-id"); // Retrieve here
   AutoSaveDraft(id);
}, 50000);

...
window.setInterval(函数(){
var id=$(“#应用程序表单”).data(“应用程序id”);//在此处检索
自动保存草稿(id);
}, 50000);

是否希望通过ajax发送?你想怎么用?没关系。我基本上想在AutoSaveDraft()中使用它。所以我只需要id就可以了。
window.setInterval(AutoSaveDraft('@Model.ApplicationId'),50000)
应该在这里工作dbraillon的可能副本-我有一个单独的Js文件,因此@Model.ApplicationId不工作。我试过使用它。你想通过ajax发送吗?你想怎么用?没关系。我基本上想在AutoSaveDraft()中使用它。所以我只需要id就可以了。
window.setInterval(AutoSaveDraft('@Model.ApplicationId'),50000)
应该在这里工作dbraillon的可能副本-我有一个单独的Js文件,因此@Model.ApplicationId不工作。我试过使用它。OP没有像你那样使用id变量,他需要从它的模型中获取id,并使用它在ajax请求中构建url。我的问题是如何使用它,答案是他们只想访问它,这就是我的回答。GetOffMyLawn-这对我不起作用。我试过了。有没有其他方法可以在Js中使用@Model.ApplicationId?哪种方法不起作用?如果您运行代码,您将看到它正在获取值。更多信息可能会有所帮助。OP没有像您那样使用id变量,他需要从它的模型中获取id,并使用它在ajax请求中构建url。我的问题是如何使用它,答案是他们只想访问它,这就是我的回答。GetOffMyLawn-这对我不起作用。我试过了。有没有其他方法可以在Js中使用@Model.ApplicationId?哪种方法不起作用?如果您运行代码,您将看到它正在获取值。更多信息会有所帮助。