Javascript 刷新页面后保留输入值
我有一个带有输入字段的表单,这个输入包含一个下拉菜单,可以从数据库中读取信息。 如果用户输入值,当他到达下拉菜单时,他没有找到他想要的内容,他会转到另一页将此信息添加到下拉菜单,然后转到第一页继续输入信息。 如果他转到另一个页面将信息添加到下拉菜单,我如何保留此信息?在将信息添加到下拉菜单后,如何在不刷新和不提交的情况下找到此信息 这是表格的第一页Javascript 刷新页面后保留输入值,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个带有输入字段的表单,这个输入包含一个下拉菜单,可以从数据库中读取信息。 如果用户输入值,当他到达下拉菜单时,他没有找到他想要的内容,他会转到另一页将此信息添加到下拉菜单,然后转到第一页继续输入信息。 如果他转到另一个页面将信息添加到下拉菜单,我如何保留此信息?在将信息添加到下拉菜单后,如何在不刷新和不提交的情况下找到此信息 这是表格的第一页 <form name='' method='post' action='<?php $_PHP_SELF ?>'> <
<form name='' method='post' action='<?php $_PHP_SELF ?>'>
<input name='txt_name' id='' type='text'>
编辑:保留更多输入的值 HTML:
<input type="text" id="txt_1" onkeyup='saveValue(this);'/>
<input type="text" id="txt_2" onkeyup='saveValue(this);'/>
Javascript:
<script type="text/javascript">
document.getElementById("txt_1").value = getSavedValue("txt_1"); // set the value to this input
document.getElementById("txt_2").value = getSavedValue("txt_2"); // set the value to this input
/* Here you can add more inputs to set value. if it's saved */
//Save the value function - save it to localStorage as (ID, VALUE)
function saveValue(e){
var id = e.id; // get the sender's id to save it .
var val = e.value; // get the value.
localStorage.setItem(id, val);// Every time user writing something, the localStorage's value will override .
}
//get the saved value function - return the value of "v" from localStorage.
function getSavedValue (v){
if (!localStorage.getItem(v)) {
return "";// You can change this to your defualt value.
}
return localStorage.getItem(v);
}
</script>
document.getElementById(“txt_1”).value=getSavedValue(“txt_1”);//将该值设置为此输入
document.getElementById(“txt_2”).value=getSavedValue(“txt_2”);//将该值设置为此输入
/*在这里,您可以为设置值添加更多输入。如果它被保存了*/
//保存值函数-将其保存到本地存储为(ID,值)
函数saveValue(e){
var id=e.id;//获取发件人的id以保存它。
var val=e.value;//获取值。
setItem(id,val);//每次用户写入内容时,localStorage的值都将覆盖。
}
//获取保存的值函数-从localStorage返回“v”的值。
函数getSavedValue(v){
如果(!localStorage.getItem(v)){
返回“”;//您可以将其更改为您的解除值。
}
返回localStorage.getItem(v);
}
如果上述代码无效,请尝试以下操作:
<input type="text" id="txt_1" onchange='saveValue(this);'/>
<input type="text" id="txt_2" onchange='saveValue(this);'/>
如果您正在使用钩子,还可以使用
反应上下文()
中的使用上下文()
。在MVC/Razor中,
首先,您应该在模型类中为
文本框如下所示:
命名空间MVCStepByStep.Models
{
公共类CustomerClass
{
公共字符串CustomerName{get;set;}} } 然后在视图-->Index.cshtml文件中,确保文本框 是这样创建的: @Html.TextBoxFor(m=>m.CustomerName) 有关完整示例,请查看此网站:
[^]您可以使用
session_start()在发送标头之前,请使用$\u会话
超级全局。当然,我建议你使用AJAX,除非你喜欢被困在石器时代。如果我想使用AJAX,我该怎么做?我该怎么使用会话而不提交?现在JavaScript中有localStorage
和sessionStorage
。JavaScript的document.cookie
应该适用于所有浏览器,但对于初学者来说更为复杂。你对JavaScript了解多少?我是JavaScript的初学者,你能帮我吗this@user3018000然后,您需要编辑函数,使其同时接收要保存的内容的名称、值。另外,为了获取savedValue(v),使其返回“v”的值。lgbaryya如果我有2个或更多输入@Igbaryya,我如何修改此函数?您解决了我持续多日的搜索问题。几年后也是如此。。谢谢你,伙计!由于这个问题是用php标记提出的,我认为C#的解决方案无助于解决这个特殊问题
<script type="text/javascript">
document.getElementById("txt_1").value = getSavedValue("txt_1"); // set the value to this input
document.getElementById("txt_2").value = getSavedValue("txt_2"); // set the value to this input
/* Here you can add more inputs to set value. if it's saved */
//Save the value function - save it to localStorage as (ID, VALUE)
function saveValue(e){
var id = e.id; // get the sender's id to save it .
var val = e.value; // get the value.
localStorage.setItem(id, val);// Every time user writing something, the localStorage's value will override .
}
//get the saved value function - return the value of "v" from localStorage.
function getSavedValue (v){
if (!localStorage.getItem(v)) {
return "";// You can change this to your defualt value.
}
return localStorage.getItem(v);
}
</script>
<input type="text" id="txt_1" onchange='saveValue(this);'/>
<input type="text" id="txt_2" onchange='saveValue(this);'/>