简单的JavaScript代码不起作用

easy javascript code not working

本文关键字:不起作用 代码 JavaScript 简单      更新时间:2023-09-26

我对以下代码有问题。我正在尝试从我的数组中获取一个随机字符串,以便在单击按钮时显示。

<script>
    var button = document.getElementById("button");
    var div = document.getElementById("box");
    var text = document.getElementById("text");
    var array=[ "thanks for clicking", "keep on clicking", "click one more time", "why do you keep on clicking me?", "stop clicking me!"];
function thing(){
    var y = array[Math.floor((Math.random() * array.length)+1)];
    text.value=y;
}
function what(){
    text.value = "what";    
}
</script>
<body>
<form>
<input type="button" id="button" value="click" onClick="what()" />
</form>
<form>
    <input type="text" id="text" value="hey" />
</form>
</body>

你需要把你的javascript块移到表单下面。

当您设置:

var text = document.getElementById("text");

该元素尚不存在。 如果将脚本块移动到窗体下方,则在调用 javascript 之前该元素将存在。

我在这里发现了几个问题。

您有两个不需要的表单标签,表单标签需要具有名称和 ID。至少名称属性必须存在。

检查以下小提琴

http://jsfiddle.net/ayyadurai/3Ru9T/

  <form name="form1" id="form1">
  <input type="button" id="button" value="click" onClick="what()" />
   <input type="text" id="text" value="hey" />
  </form>


var button = document.getElementById("button");
var div = document.getElementById("box");
var text = document.getElementById("text");
var array=[ "thanks for clicking", "keep on clicking", "click one more time", "why do you keep on clicking me?", "stop clicking me!"];

function thing(){
var y = array[Math.floor((Math.random() * array.length)+1)];
form1.text.value=y;

}

function what(){
form1.text.value = "what"; 
            thing();

}

您的声明不起作用 - 并且您也没有调用方法来将数组中的随机项放置到位。

这将起作用:

<script>
    function thing() {
        var array = ["thanks for clicking", "keep on clicking", "click one more time", "why do you keep on clicking me?", "stop clicking me!"];
        var y = array[Math.floor((Math.random() * array.length) + 1)];
        document.getElementById("text").value = y;
    }
    function what() {
        document.getElementById("text").value = "what";
    }
</script>
<body>
    <form>
        <input type="button" id="button" value="click" onclick="thing()" />
    </form>
    <form>
        <input type="text" id="text" value="hey" />
    </form>
</body>