2017-10-15 20 views
-1

我爲自我更新字段創建了一個腳本。爲什麼我在這個腳本會收到以下錯誤消息: UpdateField.html:37未捕獲的ReferenceError:字段名沒有在HTMLInputElement.onchange(UpdateField.html:37)定義 錯誤消息Ajax,自我更新字段

腳本:

enter image description here


<!DOCTYPE html> 

<html> 
<head> 
<script> 

function update_person(str,fieldname,key,keyvalue) 
{ 
    if (str == "") { 
     document.getElementById("txtHint").innerHTML = ""; 
     return; 
    } else { 
     if (window.XMLHttpRequest) { 
      // code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp = new XMLHttpRequest(); 
     } else { 
      // code for IE6, IE5 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
       document.getElementById("txtHint").innerHTML = 
xmlhttp.responseText; 
      } 
     } 
     xmlhttp.open("GET","update_person.php? 
q="+str+"&f="+fieldname+"&n="+key+"&nv="+keyvalue,true); 
     xmlhttp.send(); 
    } 
} 
</script> 

</head> 

<body> 

<form> 
<input type="text" name="firstname" data-fieldname ="PERSONFORNAVN" data-key 
="PERSONID" data-keyvalue = "7" 
onchange = "update_person(this.value,this.data-fieldname, this.data- 
key,this.data-keyvalue)"> 
</form>  
<br> 
<div id="txtHint"> </div> 

+2

[使用自定義數據的屬性,以html在onchange事件(可能的重複https://stackoverflow.com/questions/32460568/using-custom-data-attributes-in -html-在電平變化事件) – linasmnew

回答

0

you need to remove space from the line 37 "? q=" is like "?q="

function update_person(str,fieldname,key,keyvalue) 
 
{ 
 
    if (str == "") { 
 
     document.getElementById("txtHint").innerHTML = ""; 
 
     return; 
 
    } else { 
 
     if (window.XMLHttpRequest) { 
 
      // code for IE7+, Firefox, Chrome, Opera, Safari 
 
      xmlhttp = new XMLHttpRequest(); 
 
     } else { 
 
      // code for IE6, IE5 
 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
 
     } 
 
     xmlhttp.onreadystatechange = function() { 
 
      if (this.readyState == 4 && this.status == 200) { 
 
       document.getElementById("txtHint").innerHTML = 
 
this.responseText; 
 
      } 
 
     } 
 
     xmlhttp.open("GET","update_person.php?q="+str+"&f="+fieldname+"&n="+key+"&nv="+keyvalue,true); 
 
     xmlhttp.send(); 
 
    } 
 
}
<html> 
 
<head> 
 

 

 

 
</head> 
 

 
<body> 
 

 
<form> 
 
<input type="text" name="firstname" data-fieldname ="PERSONFORNAVN" data-key 
 
="PERSONID" data-keyvalue = "7" 
 
onchange = "update_person(this.value,this.data-fieldname, this.data- 
 
key,this.data-keyvalue)"> 
 
</form>  
 
<br> 
 
<div id="txtHint"> </div>