js、jquery获取不到input输入值
http://www.mizuiren.com/blog/349.html 这篇文章中是说赋值不行,取值可以的原因和处理方法,我遇到的情况不一样,但还是想分享一下
这个问题花了将近一天时间怎么回事???最后原因是input的id或name重复了
1、首先介绍下取值方式吧
<div id="cs">
<input type="text" value="初始值" class="form-control" id="csinput" name="csinput2" onblur="blur1(this)" style="width:150px;"/>
<input id='button1' type='button' onclick="click1()" value='弹出'>
</div>
<script>
function click1(){//点击按钮弹出输入值
alert($('#csinput').val())
alert($("input[name='csinput2']").val())
alert(document.getElementById("csinput").value)
alert(document.getElementByName("csinput2").value)
alert($("#cs").find("input").val())
}
//失焦弹出输入值
function blur1(a){
alert(a.value);
alert($('#csinput').val())
}
</script>
2、问题解决心路历程
1)写了一个form提交前触发的方法,获取table单行tr中的所有iput内容,组合放到其中一个input中。发现value有初始值的可以取到,新填写的并不能
2)简化到click1方法,不管输入了什么内容,全弹出“初始值”;blur1方法,第一个弹出了输入值,第二个弹出“初始值”
2)在click1和blur1中用 console.log($('#csinput'))打印,仅有一个元素(length为1)
3)因为我写的这个input是放在另一个子jsp,用<%@ include file="..xxxxx.jsp" %>的方式引入的。所以,我将input输入框复制了一个id、name改掉放到了主jsp中,发现可以弹出输入的值
4)主jsp中,我有两个地方引入了这个子jsp,虽然在子jsp中,用了<c:if test="">的判断,但没有再主jsp引用时判断,导致引用了这个两遍,其实是存在两个id和name相同的input的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~