javascript 保存input的值

guaili1752 2017-06-13 05:10:37
html
<td><input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/></td>
<td><input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/></td>
<td><input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/></td>
.......
<button style="background:#4169E1;color:white;border:none;height:200;" type="button" id="batch-save-btn">Save</button>
有很多input,本身都有value的值,现在有可能需要改变一些input的value,并点击button保存下来
javascript
$("#batch-edit-btn").click(function(){
$(':checked').each(function() {
this.val()=this.val();

});
});
希望将每个点击修改过的input的现有value保存下来,这个代码怎么写
...全文
1298 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanGuo_uu 2017-06-14
  • 打赏
  • 举报
回复
引用 9 楼 guaili1752 的回复:
这样,那我再问一下, $(":input").blur(function(){ $(this).val(this.val()); alert($(this).val()); 这样写为什么没有alert的值?
改成这种
 $(":input").blur(function(){
  $(this).val(this.value);
    alert($(this).val());
})
F12看console,它提示说:this.val()有问题 (个人感觉value是js的,val()是jq的,你混用就报错了)
cn00439805 2017-06-14
  • 打赏
  • 举报
回复
打开页面仍保存数据:

<!doctype html>
<html lang="zh-cn">
<head>
    <title></title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,minimal-ui"/>
</head>
<body>
	<table>
    	<tr>
            <td><input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/></td>
            <td><input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/></td>
            <td><input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/></td>
     	</tr>
	</table>
	<button style="background:#4169E1;color:white;border:none;height:200;" type="button" id="batch-save-btn">Save</button>
    <button style="background:#4169E1;color:white;border:none;height:200;" type="button" id="batch-view-btn">View Previous Data</button>
    <result style="display:block;"></result>
    <script type="text/javascript" src="http://www.w3school.com.cn/jquery/jquery.js"></script>
    <script>
		var viewBtn = $("#batch-view-btn");
		var saveBtn = $("#batch-save-btn");
		saveBtn.click(function(){
			var saveData = $("input[name='quarterly-1-hours']").toArray().map(o => o.value);
			localStorage["data"] = saveData;
		});
		viewBtn.click(function(){
			var saveData = localStorage["data"];
			saveData && $("result").text(saveData);
		});
    </script>
</body>
</html>
guaili1752 2017-06-14
  • 打赏
  • 举报
回复
引用 8 楼 u012536120 的回复:
[quote=引用 7 楼 guaili1752 的回复:] 问题是我希望关闭页面下次再打开页面,页面上显示的是我修改过的值,但是现在这样写,保存不下来,这个问题怎么解决,不使用数据库的情况下
恕我直言,你说的这种实现不了。(你总不可能把数据保存在cookie里面,那样很不正规) ---------------------------------------------- 我以前也纠结过类似问题,想实现数据持久化,就考虑用JS读取本地文件。 结果JS压根就没有这种功能。[/quote] 这样,那我再问一下, $(":input").blur(function(){ $(this).val(this.val()); alert($(this).val()); 这样写为什么没有alert的值?
sanGuo_uu 2017-06-14
  • 打赏
  • 举报
回复
引用 7 楼 guaili1752 的回复:
问题是我希望关闭页面下次再打开页面,页面上显示的是我修改过的值,但是现在这样写,保存不下来,这个问题怎么解决,不使用数据库的情况下
恕我直言,你说的这种实现不了。(你总不可能把数据保存在cookie里面,那样很不正规) ---------------------------------------------- 我以前也纠结过类似问题,想实现数据持久化,就考虑用JS读取本地文件。 结果JS压根就没有这种功能。
guaili1752 2017-06-14
  • 打赏
  • 举报
回复
引用 5 楼 u012536120 的回复:
[quote=引用 4 楼 guaili1752 的回复:] 这个input不是有个value属性吗,value="0001-0200,把0001-0200这个改成我后来输入的。因为这个页面就是个固定的,上面的input极少有可能需要改,所以直接改页面就好了,不用数据库
不用管,它的value自己就会改变了。你可以通过选择器获取到它改变后的value
<body>
<input type="text" class="zz" value="0001-0201"/>
<input type="text" class="zz" value="0001-0202"/>
<input type="text" class="zz" value="0001-0203"/>

<script src="jquery-3.1.1.min.js"></script>

<script> 
$(".zz").blur(function(){
tmp=$(this).val();
alert(this.value+"||"+tmp);
});
</script>

</body>
[/quote] 问题是我希望关闭页面下次再打开页面,页面上显示的是我修改过的值,但是现在这样写,保存不下来,这个问题怎么解决,不使用数据库的情况下
cn00439805 2017-06-14
  • 打赏
  • 举报
回复

<!doctype html>
<html lang="zh-cn">
<head>
    <title></title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,minimal-ui"/>
</head>
<body>
	<table>
    	<tr>
            <td><input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/></td>
            <td><input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/></td>
            <td><input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/></td>
     	</tr>
	</table>
	<button style="background:#4169E1;color:white;border:none;height:200;" type="button" id="batch-save-btn">Save</button>
    <button style="background:#4169E1;color:white;border:none;height:200;" type="button" id="batch-view-btn">View Previous Data</button>
    <result style="display:block;"></result>
    <script type="text/javascript" src="http://www.w3school.com.cn/jquery/jquery.js"></script>
    <script>
		var viewBtn = $("#batch-view-btn");
		var saveBtn = $("#batch-save-btn");
		saveBtn.click(function(){
			var saveData = $("input[name='quarterly-1-hours']").toArray().map(o => o.value);
			viewBtn.data("data",saveData);
		});
		viewBtn.click(function(){
			var saveData = viewBtn.data("data");
			saveData && $("result").text(saveData.join(","));
		});
    </script>
</body>
</html>
sanGuo_uu 2017-06-14
  • 打赏
  • 举报
回复
引用 4 楼 guaili1752 的回复:
这个input不是有个value属性吗,value="0001-0200,把0001-0200这个改成我后来输入的。因为这个页面就是个固定的,上面的input极少有可能需要改,所以直接改页面就好了,不用数据库
不用管,它的value自己就会改变了。你可以通过选择器获取到它改变后的value
<body>
<input type="text" class="zz" value="0001-0201"/>
<input type="text" class="zz" value="0001-0202"/>
<input type="text" class="zz" value="0001-0203"/>

<script src="jquery-3.1.1.min.js"></script>

<script> 
$(".zz").blur(function(){
tmp=$(this).val();
alert(this.value+"||"+tmp);
});
</script>

</body>
guaili1752 2017-06-14
  • 打赏
  • 举报
回复
引用 3 楼 u012536120 的回复:
[quote=引用 2 楼 guaili1752 的回复:] 我做的这个页面就是不需要后台的 html里面的input的本身有value,想改变的value也是改的html代码。你刚刚说的和我的需求不符
那你说的保存,是要保存到哪?[/quote] <input type="text" id="quarterly-1-hours" name="quarterly-1-hours" value="0001-0200"/> 这个input不是有个value属性吗,value="0001-0200,把0001-0200这个改成我后来输入的。因为这个页面就是个固定的,上面的input极少有可能需要改,所以直接改页面就好了,不用数据库
sanGuo_uu 2017-06-13
  • 打赏
  • 举报
回复
引用 2 楼 guaili1752 的回复:
我做的这个页面就是不需要后台的 html里面的input的本身有value,想改变的value也是改的html代码。你刚刚说的和我的需求不符
那你说的保存,是要保存到哪?
guaili1752 2017-06-13
  • 打赏
  • 举报
回复
引用 1 楼 u012536120 的回复:
思路: input值改变后,在input上加个标记(比如save="1") 然后你要保存的时候,去遍历save="1"的input,把它们的值取出来,传到后台保存就好了
我做的这个页面就是不需要后台的 html里面的input的本身有value,想改变的value也是改的html代码。你刚刚说的和我的需求不符
sanGuo_uu 2017-06-13
  • 打赏
  • 举报
回复
思路: input值改变后,在input上加个标记(比如save="1") 然后你要保存的时候,去遍历save="1"的input,把它们的值取出来,传到后台保存就好了

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧