input⽂本框的value属性在页⾯中不随输⼊的数据⽽变化
今天,在做试验遇到这么⼀个需求:
  ⼀个input⽂本框,输⼊值后将标签传到后台,在后台解析标签,发现value仍然是初值,不是我们改变后的值。
例如:
<input name="" type="text" value="SS">
当为们改变⽂本框的值的时候,其value属性值仍然是SS
解决办法:在失去焦点的时候删除此input标签,再创建⼀个⼀模⼀样的标签,value属性设置为改过之后的值。
<input name="ww" type="text" onblur='updateInputValue()'>
html内容文本框function updateInputValue() {
var $inputParent = $("[name='ww']").parent()//获取此元素的⽗亲
var $span = $inputParent.children("span");//获取到此元素的哥哥
var value = $("[name='ww']").val();//获取此元素修改后的值
$("[name='ww']").remove();//删除此元素
$span.after($("<input type='text' value='"+value+"' onblur='updateInputValue()' name='ww'/>"));//利⽤修改后的值重新拼接⼀个input    }
效果:
第⼆种⽅式:(多谢评论区的⼀位兄弟)
$(obj).attr("value",$(obj).val());实现,亲测有效
<body>
<input type="text" name="xxx" id="xxx" value="" onchange="changeValue(this)"/>
</body>
<script>
function changeValue(obj){
$(obj).attr("value",$(obj).val());
}
</script>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。