2016-07-08 2 views
1

im собирается получить некоторые данные из базы данных с помощью Ajax. могли бы вы, пожалуйста, дайте мне знать, так, что я могу вызвать две функции() путем изменения значения определенного списка с помощью «OnChange»Вызовите две функции() одним Onchange

Примечание: большая часть системы времени показывают только showhistory() функция выхода

мои существующие коды

.......................................... ...

<select name="po_no" onchange="showsize(this.value);showhistory(this.value);">

...................................... ..................

<script> 

function showhistory(str) 
{if (str=="") 
    { 
    document.getElementById("txtHistory").innerHTML=""; 
    return; 
    } 
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("txtHistory").innerHTML=xmlhttp.responseText; 
} 
} 
xmlhttp.open("GET","gethistory2.php?s="+str,true); 
xmlhttp.send(); 
} 
</script> 


<script> 
function showsize(str) 
{ 
if (str=="") 
    { 
    document.getElementById("sizeHint1").innerHTML=""; 
    return; 
    } 
if (window.XMLHttpRequest) 
    { 
    xmlhttp1=new XMLHttpRequest(); 
    } 
else 
    { 
    xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp1.onreadystatechange=function() 
    { 
    if (xmlhttp1.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("sizeHint1").innerHTML=xmlhttp1.responseText; 
    } 
    } 
    xmlhttp1.open("GET","getsize5.php?q="+str,true); 
    xmlhttp1.send(); 
    } 
</script> 
+0

Ваши методы должны как назвать. Есть ли ошибка в консоли разработчика? Запишите 'str' в начале, чтобы узнать, какое значение передается этим функциям. –

+0

Вам действительно нужна ветка ActiveX для поддержки IE5 и IE6? – Simba

ответ

1

называют свою вторую функцию на успех первой функции

<select name="po_no" onchange="showhistory(this.value);"> 



<script> 

function showhistory(str) 
{if (str=="") 
    { 
    document.getElementById("txtHistory").innerHTML=""; 
    return; 
    } 
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("txtHistory").innerHTML=xmlhttp.responseText; 
    showsize(str); 
} 
} 
xmlhttp.open("GET","gethistory2.php?s="+str,true); 
xmlhttp.send(); 
} 

function showsize(str) 
{ 
if (str=="") 
    { 
    document.getElementById("sizeHint1").innerHTML=""; 
    return; 
    } 
if (window.XMLHttpRequest) 
    { 
    xmlhttp1=new XMLHttpRequest(); 
    } 
else 
    { 
    xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp1.onreadystatechange=function() 
    { 
    if (xmlhttp1.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("sizeHint1").innerHTML=xmlhttp1.responseText; 
    } 
    } 
    xmlhttp1.open("GET","getsize5.php?q="+str,true); 
    xmlhttp1.send(); 
    } 
</script> 
+0

Уважаемый Йо Йо, Большое вам спасибо за ваш быстрый и правильный ответ .... –

+0

Отлично, что я мог бы вам помочь –

2

Вы перекрывая первое значение в OnChange (в ShowSize()) путем переназначения метода showHistory(). Чтобы избежать этого сценария, обернуть его в одну функцию, которая вызывает как вызовы, как показано ниже:

функции SHOWALL (strValue) {

SHOWALL (strValue);

showSize (strValue);

}

Наконец называют, как, как показано здесь:

<select name="po_no" onchange="showAll(this.value);"> 
Смежные вопросы