【问题标题】:How to set value on page load using javascript?如何使用javascript设置页面加载值?
【发布时间】:2017-06-09 17:28:07
【问题描述】:

我必须在页面加载时动态设置文本值。代码是..

$(document).ready(function() {
    //Function call
    setname();
});

function setname() {
  document.getElementById('loginname').value = localStorage.getItem("username");
}
<span class="text-muted text-xs block" id="loginname"></span> 

我从本地会话中获得了价值,但为什么没有在我的 loginname 字段中设置它们?我不知道为什么,请帮助我。

【问题讨论】:

  • 你能把你的表格包括进来吗? - 为什么这被标记为 PHP?
  • 您显示的代码没有明显错误。加载时 DOM 中是否存在 loginname 元素? username 值是否设置在 localStorage 中?
  • @piyush 把这个声明 alert(localStorage.getItem("username"));在setname() 看看你得到了什么。
  • document.getElementById('loginname').innerHTML= localStorage.getItem("username");

标签: javascript php jquery html


【解决方案1】:

span 元素没有value 属性 - 您需要设置innerText

function setname() {
    document.getElementById('loginname').innerText = localStorage.getItem("username");
}

或者,您可以独占使用 jQuery:

$(function() {
    $('#loginname').text(localStorage.getItem('username'));
});

【讨论】:

  • 谢谢罗里麦克罗桑
  • @piyush 没问题,很高兴为您提供帮助
【解决方案2】:

尝试使用 jquery 运算符设置值:

编辑:看起来 span 没有 val 属性,而是您需要设置 text 属性,在解决方案中编辑

$(document).ready(function() {
    //Function call
    setname();
});

function setname() {
    $('#loginname').text(localStorage.getItem("username"));
}

【讨论】:

  • 你们能否给我反馈一下为什么你不赞成这个?我就是这样做的,有什么问题吗?
  • 它被否决了,因为val() 方法用于具有value 属性的元素,而span 没有。
  • I 被否决的原因是/是因为如其他答案所述,spans 没有值,应该使用 inninterText 代替,其次,OP 使用的代码本身并没有错,所以改用 jQuery 并不能解决问题。
  • 当我写这个答案时没有其他答案,我不知道跨度没有 val 但现在已经编辑了:D
【解决方案3】:

因为它是span元素所以你不能有value属性。你需要设置innerText

function setname() {
    document.getElementById('loginname').innerText = localStorage.getItem("username");
}

您也可以通过innerHTML 这样做:-

function setname() {
    document.getElementById('loginname').innerHTML = localStorage.getItem("username");
}

【讨论】:

    猜你喜欢
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 2019-05-14
    • 2021-09-17
    • 2011-04-12
    • 2015-06-20
    • 1970-01-01
    相关资源
    最近更新 更多