Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/06/2009, 09:56
kituscat
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 15 años, 5 meses
Puntos: 0
mostrar resultado consulta con ajax

Buenas tardes,

he implementado alguna cosa con ajax en un simple insert y en un update. Ahora hay un formulario y al apretar el btón enviar, justo en la línea siguiente, un loading da paso a un mensaje confirmando que el update se ha hecho correctamente. Lo que querría és que el loading y el mensaje substituyeran al form. Adjunto el código. Gracias por vuestra qyuda.

Marc



página php con el form :

Código:
<form action="javascript:insert()" method="post" name="form1">
	<!-- Dades categoria -->
	Nom en català : <input name="categoria_nom_cat" id="categoria_nom_cat" type="text" size="50" maxlength="50" value="Introdueix el nom de la categoria en català" onClick="select()"><br>
	Nom en castellà : <input name="categoria_nom_cas" id="categoria_nom_cas" type="text" size="50" maxlength="50" value="Introdueix el nom de la categoria en castellà"  onClick="select()"><br>
	<!-- Camps ocults -->
	<input name="_submit_check" type="hidden" value="1">
	<!-- Botó enviar -->
	<input name="Afegir!" type="submit">
</form>
<script language="JavaScript" type="text/javascript">
 var frmvalidator = new Validator("form1");
 frmvalidator.addValidation("categoria_nom_cat","req","El nom en català és un camp obligatori");
 frmvalidator.addValidation("categoria_nom_cas","req","El nom en castellà és un camp obligatori");
</script>
</p>
<!-- Missatge de resposta d'AJAX -->
<div id="insert_response"></div>



código ajax :

Código:
/* ---------------------------- */
/* XMLHTTPRequest Enable */
/* ---------------------------- */
function createObject() {
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_type = new ActiveXObject("Microsoft.XMLHTTP");
} else {
request_type = new XMLHttpRequest();
}
return request_type;
}

var http = createObject();






/* -------------------------- */
/* INSERT categoria*/
/* -------------------------- */
/* Required: var nocache is a random number to add to request. This value solve an Internet Explorer cache issue */
var nocache = 0;
function insert() {
// Optional: Show a waiting message in the layer with ID login_response
document.getElementById('insert_response').innerHTML = "<img src='../img-admin/loading.gif'>"
// Required: verify that all fileds is not empty. Use encodeURI() to solve some issues about character encoding.
var categoria_nom_cat= encodeURI(document.getElementById('categoria_nom_cat').value);
var categoria_nom_cas = encodeURI(document.getElementById('categoria_nom_cas').value);
// Set te random number to add to URL request
nocache = Math.random();
// Pass the login variables like URL variable
http.open('get', 'a_cat_afe2.php?categoria_nom_cat='+categoria_nom_cat+'&categoria_nom_cas=' +categoria_nom_cas+'&nocache = '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
}
function insertReply() {
if(http.readyState == 4){ 
var response = http.responseText;
// else if login is ok show a message: "Site added+ site URL".
document.getElementById('insert_response').innerHTML = 'Fet!';
}
}