textarea标签与input标签在移动端用jquery和原生的js都获取不到值

10 篇文章 0 订阅

最近做需求发现用ajax向后台提交数据的时候用js与jquery 在移动端都获取不到textarea标签的value值 (在pc端获取值的时候是正常的)

在这里插入图片描述

如上面的这种情况 点击提交的时候 用原生的js 或者是jquery 获取不到 textarea 标签 输入的value值

贴上最原始的代码

 <h4>请描述您的问题?</h4>
 <textarea  id="aaa" ></textarea>
 <div class="btn_submit" >
   <button type="button"  onclick="sem_success()">提交</button>
 </div>

// 这里是js代码

     function sem_success(){
     var value= $("#aaa").val();
     console.log(value);
}

发现这样是获取不到值的
刚开始反映是不是标签的兼容性的问题 换成input标签的时候 同样也是获取不到数值
然后各种找资料 发现
当input 或者是textarea 标签 没有失去焦点的时候 是获取不到value值 只有当input 或者是textarea 标签 失去焦点的时候 才能正常的获取到value值
于是想了一个办法 点击提交的时候 让输入的文本框失去焦点 如下面的这个代码

 function sem_success(){
		  $("#aaa").blur();// 让文本框失去焦点
         var value= $("#aaa").val();
         console.log(value);
    }

试了一下 最后发现还是不行
最终 想到了 实时监听文本框输入的内容 然后用一个隐藏域吧这个value值给存储起来
贴上 html代码

 <h4>请描述您的问题?</h4>
 <textarea  id="aaa" onkeyup="check_value(this);" ></textarea>
 <input type="hidden" name = 'chLeft' id = 'chLeft' value = ''>
 <div class="btn_submit" >
   <button type="button"  onclick="sem_success()">提交</button>
 </div>

贴上js代码

function  check_value(which){
	document.getElementById('chLeft').value = which.value;
 }
 function sem_success(){
     var value= $("#aaa").val();
     console.log(value);
 }
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值