[英]Javascript max and min not working
我正在嘗試創建一個頁面,讓用戶輸入三個數字,並在輸入下方打印最大值和最小值。 我已經使用了Math.max / min函數,並嘗試了if語句,但是當我點擊提交時,沒有顯示任何內容。 非常感謝一些見解,謝謝!
function max() {
var x = document.getElementById("num1").value;
var y = document.getElementById("num2").value;
var z = document.getElementById("num3").value;
var maximum = Math.max(parseInt(x), parseInt(y), parseInt(z));
document.getElementById("max").innerHTML= maximum;
}
function min() {
var x = parseInt(document.getElementById("num1").value);
var y = parseInt(document.getElementById("num2").value);
var z = parseInt(document.getElementById("num3").value);
document.getElementById("min").innerHTML = Math.min(x,y,z);
}
這是我的HTML
<p>Enter First Number:</p>
<input type="text" name = "number1" id="num1"><br>
<p>Enter Second Number</p>
<input type="text" name = "number2" id="num2"><br>
<p>Enter third number</p>
<input type="text" name = "number3" id="num3"><br>
<input type="submit" value="Submit" onclick="max(); min(); "><br />
<p>Max =</p><p id ="max"></p><br />
<p>Min =</p><p id ="min"></p><br />
將<input type="submit"/>
替換為<button type="submit" value="" onclick="minmax();">Submit</button>
並添加JS功能:
function minmax() {
min();
max();
}
您的問題似乎與您如何附加活動有關。
我使用時工作正常:
document.querySelector( '[type="submit"]' ).addEventListener( 'click', function() {
max();
min();
}, false );
您只需更改與按鈕相關的標記,而不是:
<input type="submit" value="Submit" onclick="max(); min(); "><br />
剛剛放:
<button type="submit" value="Submit" onclick="max(); min()">Click</button><br />
這里沒有任何答案告訴你為什么你的代碼不起作用。
內聯偵聽器中的標識符首先被解析為放置它們的元素的屬性。 輸入元素具有默認的max屬性,因此在內聯偵聽器中,標識符max將引用輸入的max屬性。 因此在任何文件中:
<input onclick="console.log(max)">
顯示''
(即空字符串)。
因此,您可以將函數的名稱更改為更有意義的名稱,或者更改調用它們的上下文,以便在元素上不解析標識符,並且OP代碼可以正常工作。 例如
<input type="submit" value="Submit" onclick="callBoth()">
和
function callBoth() {
max();
min();
}
順便提一下,表單外部的輸入類型提交只是一個按鈕,因此您應該使用:
<input type="button" ...>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.