2017-10-15 19 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

[のonchangeイベントで、HTML内のカスタムデータ属性を使用する]の可能複製(https://stackoverflow.com/questions/32460568/using-custom-data-attributes-in -html-in-onchange-event) – 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>

関連する問題