こんにちはを開始「のonchange」私は2で、ドロップダウン「選択」している添付アクションは、唯一のJavaスクリプト
echo "<select id='selecttask' name='task' onchange='showpcaction(this.value);showpcinterview(this.value);'>";
echo "<option disabled selected>";
while ($row = db2_fetch_assoc($stmt)) {
echo "<option value='".$row['TASK_NAME']."'>".$row['TASK_NAME']."`</option>";}
echo "</select>";`
「のonchange」の問題は、一方だけが(それは常にsedond一つだ)実際にあるということです開始しました。私はそれらのうちの1つを開始することはできますが、両方を開始することはできません。 これまで何も問題はなかったので、何が起きているのか分かりません。ここ
は2つのジャバスクリプトです:
function showpcinterview(task_name) {
if (task_name == 'Interview'){
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("pc_interview").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","showpcinterview.php",true);
xmlhttp.send();
}
else{
document.getElementById("pc_interview").innerHTML ="";
}
}
function showpcaction(task_name) {
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("pc_action").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","showpcaction.php?task_name=" + task_name,true);
xmlhttp.send();
}
、私はこのような単純なものと「のonchange」のJS関数の1つを交換する場合:\t 関数testjs(テスト){ \t \tアラート(テスト);} それは両方を実行するが、それ最初の質問では両方とも実行されません –
私は、両方の関数で同じ 'xmlhttp'変数を使用していると思います.2番目の関数は最初のものを上書きします。私は、あなたがそれへの参照を捨てるときに最初に付けられたコールバックなどに何が起こるかは確かに分かりません(したがって、コメントではありません)。しかし、ガベージコレクションされる可能性は高いです火事はしないでください。 –
@JamesThorpeええ、それはひどくそれを言いました - 私は私のコメントを削除し、より良い説明を追加します:)ああ、私はあなたがかなり前に6mins前に笑って言った参照してください笑!コメントする必要はありません:)再び私は繰り返し述べます - いいえインラインJS! :)また、それはJavaScriptスクリプトです - それらをJavaスクリプトと混同させないでください;) – ThisGuyHasTwoThumbs