Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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 刷新页面后保留输入值_Javascript_Php_Jquery_Ajax - Fatal编程技术网

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);'/>