我在一个页面上有三个文本框。文本框可以包含大量文本。用户将与客户讨论并在这些文本框中记录信息。每次讨论的持续时间可以是几个小时。
问题:在用户主动输入信息而不执行整页刷新的情况下,如何定期保存在文本框中输入的数据?我想确保用户不会丢失任何输入的信息,并且可以继续工作而无需等待页面重新加载。
根据你的描述,我建议你可以使用Juqery ajax来实现这个需求。您可以使用 setInterval 方法,该方法将触发将文本框发布到后端方法的方法。
更多详情,您可以参考以下代码:
客户:
<input id="textbox1" type="text"/>
<br/>
<input id="textbox2" type="text" />
<br />
<input id="textbox3" type="text" />
<br />
@section scripts {
<script>
$(function() {
setInterval(function() {
var textbox1Content = $('#textbox1').val();
var textbox2Content = $('#textbox2').val();
var textbox3Content = $('#textbox3').val();
$.ajax({
url: 'home/SaveTextboxesContents',
type: 'POST',
data: { textbox1: textbox1Content, textbox2: textbox2Content, textbox3: textbox3Content },
success: function(data) {
console.log('Data saved successfully');
},
error: function() {
console.log('Error saving data');
}
});
}, 60000); // 1 min
});
</script>
)
}
后端方法:
[HttpPost]
public IActionResult SaveTextboxesContents(string textbox1, string textbox2, string textbox3)
{
// Save the textbox content to the database or a file
// ...
return Json(new { success = true });
}
结果: