2017-07-30 15 views
2

EDIT - SOLVED //ユーザーのWinが答えで指摘されているように、関数の名前をクリックしてHTMLボタンで呼び出そうとすると、 HTMLボタンの組み込み/標準の「クリック()」機能ボタン/入力のある/ elseボタン

誰もが理解できないのですが、なぜ(世界で)これが機能していませんか?私はChrome、私のIDEやJSFiddleでバグレポートを取得しません。

HTML

<!DOCTYPE html> 
<html> 
<head> 
    <script src="app.js"></script> 
</head> 
<body> 
    <input id="search" type="text" name="input" placeholder="Search.."> 
    <button onclick="click()" value="Submit">Get weather</button> 
</body> 
</html> 

はJavaScript

function click() { 
    if (document.getElementById("search").value == "New York") { 
    console.log("Loading weather for New York..."); 
    } else { 
    console.log("City name isn't valid. Try again"); 
    } 
} 

JSFiddle:事前にhttps://jsfiddle.net/nd6f5pp7/

感謝。

答えて

5

関数をクリックしないと、objプロトタイプと混同されます。

// Grab Input from DOM 
 
var iptSearch = document.getElementById('search') 
 

 
// Grab Submit button from DOM 
 
var btnGetWeather = document.getElementById('get-weather'); 
 

 
// Add Event Listener 
 
btnGetWeather.addEventListener('click', function() { 
 
    if (iptSearch.value === "New York") { 
 
    console.log("Loading weather for New York..."); 
 
    } else { 
 
    console.log("City name isn't valid. Try again"); 
 
    } 
 
});
<input id="search" placeholder="Search..."/> 
 
<button id="get-weather">Get Weather</button>
それとも、あなたが与えてくれたサンプルコードをフォローしたい場合。使用以下:

function getWeather() { 
 
    if (document.getElementById('search').value === "New York") { 
 
    console.log("Loading weather for New York..."); 
 
    } else { 
 
    console.log("City name isn't valid. Try again"); 
 
    } 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <script src="app.js"></script> 
 
</head> 
 

 
<body> 
 
    <input id="search" type="text" name="input" placeholder="Search.."> 
 
    <button onclick="getWeather()">Get weather</button> 
 
</body> 
 

 
</html>

+0

、ありがとうございことが許されなかった知りませんでした。あなたが10分後にあなたの答えを受け入れます。そうすれば、私はそうすることができます。 – thesystem

+1

'onclick'の代わりにリスナーを使う – easa

+1

@easaこれは本当です。答えを更新しましょう。 :) – Win

関連する問題