js传值,文本框接收不到

function save() {
var shopTermSn = $("#shopTermSn").val();
if (shopTermSn == '') {
return;
} else {
document.getElementById("shopTermSn").value=shopTermSn;
alert( document.getElementById("shopTermSn").value);

    }
}
    我想问的是,为什么  document.getElementById("shopTermSn").value=shopTermSn;把值传过去了,但是在文本框里面显示不出来呢

什么意思?把自己的值取出来再赋值给自己。。。。那你赋值干啥

有可能是你的文本框里没有输入值

你把你的便签贴出来看看,很有可能是楼上说的。文本框的值为空或者undefined等,在非空判断的时候,直接return了

感觉挺绕的,用自己的值赋值给自己? 代码贴全吧

感觉挺绕的,用自己的值赋值给自己? 代码贴全吧

请问你是什么时候调用的这个函数?

val() 方法返回或设置被选元素的值。


元素的值是通过 value 属性设置的。该方法大多用于 input 元素。


jQuery这个方法是获取元素的value值,p元素、span元素很多元素并没有value值的。个人猜测题主用了p标签,所以才获取不到value值的。

ShopTermSn这个你确定定义了吗?或者function 方法放的位置有问题

shopTermSn是表单元素的ID?
为什么要取了自己的值再给自己赋值?
这个操作完全没有任何意义呀?
当输入的内容不为空的时候alert出来?

原生JS一般最好利用SetAttribute('value', 123)这种形式赋值,这样保证你设置的值就会出现在框中。可以试下。

document.getElementById("shopTermSn").val(shopTermSn);