页面不会从javascript更改

page does not change from javascript

本文关键字:javascript 更改      更新时间:2023-09-26

我正在开发一个通过github页面使用Jekyll的网站。我正在开发一些简单的java脚本来制作随机数生成器,但它们无法更改页面上的值。

该页面包含以下内容:

/resume/index.html

<form>
<input type="text" name="#d" maxlength="3" value="1" />
<div class="dice_text">d</div>
<input type="text" name="d#" maxlength="2" value="4" />
<button type="button" name="rollme" onclick="roll()">roll</button>
<div class="dice_text"> : </div>
<input type="text" id="dieresult" readonly />
</form>

/resume/roll.js

document.getElementById('dieresult').setAttribute('value', '3') ;
function roll() {
  alert("rolled!");
}

出于某种原因,我不明白,当你按下按钮时,roll()函数会被调用并发出警报,所以网站似乎包含了javascript文件,但它拒绝更改页面以在只读字段中显示数字。

我的回购在github上在线,问题网站的网址在这里。

编辑:更正了"id"与"name"的问题,但页面仍然不会更改"dieresult"的值

您将name属性误认为是id属性

当您尝试使用document.getElementById获取该元素时,它将返回null

将id设置为dieresult应该可以解决此问题。我强烈建议你使用浏览器内置的JavaScript控制台——你很快就会发现这样的小错误!

您的<input type="text" name="dieresult" readonly />没有ID,这就是您在document.getElementById('dieresult').setAttribute('value', '3') ; 行中要查找的ID

如果将<input type="text" name="dieresult" readonly />更改为<input type="text" id="dieresult" readonly />,并将其放入roll()函数中,则应该可以正常工作

您的输入有一个名称,但您按id查询它,将其更改为:

<input type="text" name="dieresult" id="dieresult" readonly />

您在jquery上有一个404。通过在roll文件夹中放入一个jquery来解决此问题。

而且,一旦每个人都在上,你就可以尝试执行你的代码

$( document ).ready(function() {
  document.getElementById('dieresult').setAttribute('value', '3') ;
});

请参阅http://learn.jquery.com/about-jquery/how-jquery-works/#launching-文档就绪上的代码