|
|
|
| Всем привет. Подскажите что я делаю не так.
В данном примере есть 2 инпута с айди и две кнопки. Пытаюсь сделать что бы оба запроса не реагировали друг на друга. Но если по очереди буду нажимать кнопки отправить то эти запросы перекрешиваются как то между собой. Что сделал не правильно?
За ранее спасибо
<?php
header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL & ~E_NOTICE);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
var req = Create();
function Create(){
if(navigator.appName == "Microsoft Internet Explorer") {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
req = new XMLHttpRequest();
}
return req;
}
function Request(query){
req.open('post', './new.php' , true );
req.onreadystatechange = Refresh;
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
req.send(query);
}
function Request1(query1){
req.open('post', './new1.php' , true );
req.onreadystatechange = Refresh1;
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
req.send(query1);
}
function Refresh(){
var a = req.readyState;
if( a == 4 ) {
var b = req.responseText;
document.getElementById('ajax').innerHTML = b;
}
else {
document.getElementById('ajax').innerHTML = '<img src="prel.gif" width="30px" />';
}
}
function Refresh1(){
var aa = req.readyState;
if( aa == 4 ) {
var bb = req.responseText;
document.getElementById('ajax1').innerHTML = bb;
}
else {
document.getElementById('ajax1').innerHTML = '<img src="prel.gif" width="30px" />';
}
}
function Pusk(){
var query;
query ='txt='+encodeURIComponent(document.getElementById('myid').value);
Request(query);
}
function Pusk1(){
var query1;
query1 ='txt1='+encodeURIComponent(document.getElementById('myid1').value);
Request1(query1);
}
</script>
<title>аякс</title>
</head>
<body topmargin="0" leftmargin="0">
<table width="100" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type='text' id='myid' ></td>
<td colspan="2"><input type="button" value="Проверить" onClick="Pusk()"></td>
<td valign="top"><div id="ajax"></div></td>
</tr>
</table>
<br>
<hr>
<br>
<table width="100" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type='text' id='myid1' ></td>
<td colspan="2"><input type="button" value="Проверить1" onClick="Pusk1()"></td>
<td valign="top"><div id="ajax1"></div></td>
</tr>
</table>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: mister_pipin
(14.05.2012 в 23:49)
| | Вы пошли неверным путём.
Все функции, которые вы "размножили" - их можно было написать в одном экземпляре.
А вот объектов функцией Create () надо было создать два, вот так:
var req = new Array (Create (), Create ());
|
Вызов функции Pusk () оформляете как Pusk (0),
а Pusk1 () заменяете на Pusk (1).
Ну а далее, надеюсь, логика вам подскажет - передавайте по функциям соответствующий индекс и всякий раз его проверяйте оператором if (). | |
|
|
|