Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luiz Henrique

[Resolvido] AJAX não funciona dentro de FORM

Recommended Posts

Olá pessoas,

 

Estou desenvolvendo um sistema de cadastro de ordem, de serviço, onde será necessário digitar o número (neste caso), conforme for digitando (onkeyup) eu já vou fazendo a verificação via AJAX se já existe o número digitado, o que acontece é que se eu coloco este input dentro do form a função não é chamada, se eu coloco fora fica perfeito, existe alguma coisa que deva ser feito de diferente para funcionar o ajax dentro do form abaixo segue as funções utilizadas;

 

function ajaxInit(){
var req;
try {
		req = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){ 
	try{
		req = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(ex){
		try{
			req = new XMLHttpRequest();
		}catch(exc){
			alert("Esse browser não tem recursos para uso do Ajax");
			req = null;
		}
	}
}
return req;
}

 

 

Função que é chamada

function os(os){
if(document.form1.os.length >= 5){
	document.getElementById('result').innerHTML = "carregando";	
	ajax = ajaxInit();
	if(ajax){
		ajax.open("GET","search_os.php?os="+os, true);
		ajax.onreadystatechange = function(){
			if(ajax.readyState == 4){
				if(ajax.status == 200){		    			
					document.getElementById('result').innerHTML = ajax.responseText;				
				}else{
					alert(ajax.statusText);
				}
			}		     	
		}
		ajax.send(null);
	}
}
}

 

Assim não funciona

<form action="index.php" name="form1" id="form1" method="post" enctype="multipart/form-data">
   	<input type="text" name="os" onkeyup="os(this.value)"  /> <span id="result"></span>
   </form>

 

Assim funciona

<form action="index.php" name="form1" id="form1" method="post" enctype="multipart/form-data">

</form>
<input type="text" name="os" onkeyup="os(this.value)"  /> <span id="result"></span>

 

Funcionou, mudei o input ao invés de chamar a função passando valores eu resgatei ela de dentro da função ou seja:

 

Alterei isso:

<input type="text" name="os" onkeyup="os(this.value)" />

 

para

$os = document.form1.os.value;

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.