aynı anda birden fazla ajax formda hata
bir sayfada iki tane ajax form var :
biri, sadece bir selectbox/seçim kutusu' ndan oluşuyor. seçim yapınca ajax devre giriyor.
diğeri ise, iki metin alanına sahip bir ajax form.
Kod:sayfadaki diğer kodlar
.
.
.
ajax kodları1.. ' ajax işlemi için gereken kodlar
ajax form 1
<div id="frm1"></div>
ajax kodları2..
ajax form 2
<div id="frm2"></div>
.
.
sayfadaki kodlama yapısı bu şekilde.. şimdi ilk formda bir seçim yapılınca div id="frm1" de "lütfen bekleyin" yazacağına div id="frm2" de yazıyor. ikinci formu doldurup, butona tıklayınca mesele yok div id="frm2" "lütfen bekleyin" yazıyor.
ajax kodları 1 ve 2 de ki tüm değişkenlerin adlarını değiştirdim. fonksiyon isimlerinden diğer değişkenlere kadar hepsini.
ajax kodları 1:
Kod:<script type="text/javascript" language="javascript">
var cvpOy = false;
function ajaxOy(url, parameters)
{
document.getElementById('oy').innerHTML = "Lütfen bekleyiniz...";
cvpOy = false;
if (window.XMLHttpRequest)
{ // Mozilla, Safari,...
cvpOy = new XMLHttpRequest();
if (cvpOy.overrideMimeType)
{
// set type accordingly to anticipated content type
//cvpOy.overrideMimeType('text/xml');
cvpOy.overrideMimeType('text/html');
}
}
else if (window.ActiveXObject)
{ // IE
try
{
cvpOy = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
cvpOy = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!cvpOy)
{
alert('Cannot create XMLHTTP instance');
return false;
}
cvpOy.onreadystatechange = uyariOy;
cvpOy.open('GET', url + parameters + '&a=' + Math.floor(9999999*Math.random()), true);
cvpOy.send(null);
}
function uyariOy()
{
if (cvpOy.readyState == 4)
{
if (cvpOy.status == 200)
{
//alert(cvpOy.responseText);
sonucOy = decodeURIComponent(cvpOy.responseText);
document.getElementById('oy').innerHTML = sonucOy;
}
else
{
alert('There was a problem with the request.');
}
}
}
function get(obj)
{
var getstr = "?";
for (i=0; i<obj.childNodes.length; i++)
{
if (obj.childNodes[i].tagName == "INPUT")
{
if (obj.childNodes[i].type == "text")
{
getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
}
if (obj.childNodes[i].type == "hidden")
{
getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
}
if (obj.childNodes[i].type == "checkbox")
{
if (obj.childNodes[i].checked)
{
getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
}
else
{
getstr += obj.childNodes[i].name + "=&";
}
}
if (obj.childNodes[i].type == "radio")
{
if (obj.childNodes[i].checked)
{
getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
}
}
}
if (obj.childNodes[i].tagName == "SELECT")
{
var sel = obj.childNodes[i];
getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
}
}
ajaxOy('oyla.asp', getstr);
}
</script>
<div align="right" name="oy" id="oy" style="color: Blue;"></div>
<form action="javascript:get(document.getElementById('BelgeOy'));" name="BelgeOy" id="BelgeOy">
<select onchange="javascript:get(this.parentNode);" id="puan" name="puan" size="1">
<option selected value="">Bu belgeye oy verin</option>
<option value="5">Çok iyi</option>
<option value="4">İyi</option>
<option value="3">Orta</option>
<option value="2">İdare eder</option>
<option value="1">Kötü</option>
</select>
</form>
ajax kodları 2:
Kod:<script type="text/javascript" language="javascript">
var cvpYorum = false;
function ajaxYorum(urlYorum, paramYorum) {
cvpYorum = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
cvpYorum = new XMLHttpRequest();
if (cvpYorum.overrideMimeType) {
// set type accordingly to anticipated content type
//cvpYorum.overrideMimeType('text/xml');
cvpYorum.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
cvpYorum = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
cvpYorum = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!cvpYorum) {
alert('Cannot create XMLHTTP instance');
return false;
}
cvpYorum.onreadystatechange = uyariYorum;
cvpYorum.open('POST', urlYorum, true);
cvpYorum.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
cvpYorum.setRequestHeader("Content-length", paramYorum.length);
cvpYorum.setRequestHeader("Connection", "close");
cvpYorum.send(paramYorum);
}
function uyariYorum() {
document.getElementById('spanyorum').innerHTML='Lütfen bekleyiniz...'
if (cvpYorum.readyState == 4) {
if
(cvpYorum.status == 200) {
//alert(cvpYorum.responseText);
result = cvpYorum.responseText;
document.getElementById('spanyorum').innerHTML = cvpYorum.responseText;
} else {
alert('There was a problem with the request.');
}
}
}
function get(obj) {
var poststr = "txt=" + encodeURI(document.getElementById("txt").value);
ajaxYorum('Kaydet.asp', poststr);
}
</script>
<form action="javascript:get(document.getElementById('BelgeYorum'));" name="BelgeYorum" id="BelgeYorum">
Başlık: <input style="margin-left: 50px;" type="text" name="Baslik" id="baslik" size="20" maxlength="100"><br />
Düşünceler: <textarea style="margin-left: 20px;" name="Txt" id="txt" rows="10" cols="40"></textarea><p>
<input onclick="javascript:get(this.parentNode);" align="right" type="button" name="bKaydet" value="Gönder"><div name="spanYorum" id="spanyorum" style="color: Blue;"></div>
</form>
http://www.saltokunur.net/ayni-anda-birden-fazla-ajax-formda-hata-t47261.html?s=2d8126fb9a1dc1d484a3