簡體   English   中英

無法在HTML中運行javascript onClick?

[英]Unable to run javascript onClick in HTML?

我正在嘗試通過文本框發送接收到的用戶輸入,然后將該輸入發送到另一個文件(myfile.js)的javascript。 由於某些原因,html部分無法正常工作。 這是代碼:myfile.js:

var TRange=null;

function findString (str) {
 if (parseInt(navigator.appVersion)<4) return;
 var strFound;
 if (window.find) {

  // CODE FOR BROWSERS THAT SUPPORT window.find

  strFound=self.find(str);
  if (!strFound) {
   strFound=self.find(str,0,1);
   while (self.find(str,0,1)) continue;
  }
 }
 else if (navigator.appName.indexOf("Microsoft")!=-1) {

  // EXPLORER-SPECIFIC CODE

  if (TRange!=null) {
   TRange.collapse(false);
   strFound=TRange.findText(str);
   if (strFound) TRange.select();
  }
  if (TRange==null || strFound==0) {
   TRange=self.document.body.createTextRange();
   strFound=TRange.findText(str);
   if (strFound) TRange.select();
  }
 }
 else if (navigator.appName=="Opera") {
  alert ("Opera browsers not supported, sorry...")
  return;
 }
 if (!strFound) alert ("String '"+str+"' not found!")
 return;
}

search.html

<!DOCTYPE html>
<HTML>
<HEAD>
</head>
<title>Search</title>
<body>
<script src="myfile.js" type="text/javascript"></script>
<form name="input">

Search for: <input type="text" id ="keytex" name="keytext" onClick='if(document.getElementById("keytex").value!=\'\') findString(document.getElementById("keytex").value); return(false);'>
</form>
<p> You can search this text. Search the text again</p>
</body>
</html>

嗯...您甚至檢查過HTML嗎? (您的代碼中有很多錯誤,這是一個。)

<input onClick='if(document.getElementById("keytex").value!=\'\') findString(document.getElementById("keytex").value); return(false);'>

看到那些\\' 您無法在HTML中做到這一點。 另外, 在內聯代碼中使用方括號 if(){}

這應該工作:

if(document.getElementById("keytex").value!="")

PS:請勿使用內聯JavaScript。 最后,它們只會給您一個更混亂的HTML。

//Good
document.querySelector("#keytex").addEventListener("click",function(){
    if(this.value!=""){             //Use "this" to refer back the element.
        findString(this.value);
    }
    return false;
});

學習更多關於:

可能您想使用onchange或onkeyup事件-不是onclick

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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