簡體   English   中英

Javascript max和min無法正常工作

[英]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 );

http://jsfiddle.net/yemxrmqq/

您只需更改與按鈕相關的標記,而不是:

<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM