mi consulta es que tengo estas funciones para recuperar los datos de un usuario.
Al ingresar el rut en el text de rut , estos datos aparezcan inmediatamente en los text correspondientes(nombre, apellido, etc...) vi la bdd y esta ok..el error es de aka..
js.js
Código PHP:
function checkRutField(rut)
{
if (rut=="") {
return true;
}
var tmpstr = "";
for ( i=0; i < rut.length ; i++ )
if ( rut.charAt(i) != ' ' && rut.charAt(i) != '.' && rut.charAt(i) != '-' )
tmpstr = tmpstr + rut.charAt(i);
rut = tmpstr;
largo = rut.length;
// [VARM+]
tmpstr = "";
for ( i=0; rut.charAt(i) == '0' ; i++ );
for (; i < rut.length ; i++ )
tmpstr = tmpstr + rut.charAt(i);
rut = tmpstr;
largo = rut.length;
// [VARM-]
if ( largo < 2 )
{
alert("Debe ingresar el Rut completo");
window.document.form1.rut.focus();
window.document.form1.rut.select();
return false;
}
for (i=0; i < largo ; i++ )
{
if ( rut.charAt(i) != "0" && rut.charAt(i) != "1" && rut.charAt(i) !="2" && rut.charAt(i) != "3" && rut.charAt(i) != "4" && rut.charAt(i) !="5" && rut.charAt(i) != "6" && rut.charAt(i) != "7" && rut.charAt(i) !="8" && rut.charAt(i) != "9" && rut.charAt(i) !="k" && rut.charAt(i) != "K" )
{
alert("El valor ingresado no corresponde a un R.U.T valido.");
window.document.form1.rut.focus();
window.document.form1.rut.select();
return false;
}
}
var invertido = "";
for ( i=(largo-1),j=0; i>=0; i--,j++ )
invertido = invertido + rut.charAt(i);
var drut = "";
drut = drut + invertido.charAt(0);
drut = drut + '-';
cnt = 0;
for ( i=1,j=2; i<largo; i++,j++ )
{
if ( cnt == 3 )
{
drut = drut + '.';
j++;
drut = drut + invertido.charAt(i);
cnt = 1;
}
else
{
drut = drut + invertido.charAt(i);
cnt++;
}
}
invertido = "";
for ( i=(drut.length-1),j=0; i>=0; i--,j++ )
invertido = invertido + drut.charAt(i);
window.document.form1.rut.value = invertido.toUpperCase()
if ( checkDV(rut) ){
return true;
}
return false;
}
function checkDV( crut )
{
largo = crut.length;
if ( largo < 2 )
{
alert("Debe ingresar el rut completo.");
window.document.form1.rut.focus();
window.document.form1.rut.select();
return false;
}
if ( largo > 2 )
rut = crut.substring(0, largo - 1);
else
rut = crut.charAt(0);
dv = crut.charAt(largo-1);
checkCDV( dv );
if ( rut == null || dv == null )
return 0;
var dvr = '0';
suma = 0;
mul = 2;
for (i= rut.length -1 ; i >= 0; i--)
{
suma = suma + rut.charAt(i) * mul;
if (mul == 7)
mul = 2;
else
mul++;
}
res = suma % 11;
if (res==1)
dvr = 'k';
else if (res==0)
dvr = '0';
else
{
dvi = 11-res;
dvr = dvi + "";
}
if ( dvr != dv.toLowerCase() )
{
alert("EL rut es incorrecto.");
window.document.form1.rut.focus();
return false;
}
return true;
}
function checkCDV( dvr )
{
dv = dvr + "";
if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k' && dv != 'K')
{
alert("Debe ingresar un digito verificador valido.");
window.document.form1.rut.focus();
window.document.form1.rut.select();
return false;
}
return true;
}
function validar_rut(rut){
if (checkRutField(rut)) {
var form=window.document.form1.rut.value;
var root2, source2;
var i2;
var xmlhttp;
var sreq;
var sT;
var aux;
sreq = "informacion.php?xrut="+form;
//prompt("",sreq);
source=new ActiveXObject("Microsoft.XMLDOM");
source.async=false;
source.load(sreq);
root2=source.documentElement;
if (root2.childNodes.length>0) {
for (i2 = 0 ; i2 <root2.childNodes.length; i2++) {
if (getRS(root2, i2, "idsuscriptores")=="0") {
window.document.form1.idsuscriptores.value="0";
window.document.form1.nombres.value="";
window.document.form1.apellidos.value="";
window.document.form1.suscripcion.value="";
window.document.form1.email.value="";
if (window.document.form1.rut.value!="") {
window.document.form1.nombres.focus();
}
} else {
window.document.form1.idsuscriptores.value=getRS(root2, i2, "IDSUSCRIPTORES");
window.document.form1.nombres.value=getRS(root2, i2, "NOMBRES");
window.document.form1.apellidos.value=getRS(root2, i2, "APELLIDOS");
window.document.form1.suscripcion.value=getRS(root2, i2, "SUSCRIPCION");
window.document.form1.email.value=getRS(root2, i2, "EMAIL");
}
}
}
}
}
function getRS(rootnode, iCurRec, sFieldName){
var iField;
var sData;
sData = "";
for (iField = 0 ; iField < rootnode.childNodes.item(iCurRec).childNodes.length ; iField++){
if (rootnode.childNodes.item(iCurRec).childNodes.item(iField).tagName == sFieldName){
if (rootnode.childNodes.item(iCurRec).childNodes.item(iField).childNodes.length > 0){
sData = rootnode.childNodes.item(iCurRec).childNodes.item(iField).childNodes.item(0).text;
}
else {
sData = "";
}
}
}
if (sData == "#20") {
sData = "";
}
return(sData);
}
este archivo es del xml con php...i
Código PHP:
$xrut=substr("0000000000".str_replace(".","",$xrut),strlen("0000000000".str_replace(".","",$xrut))-10,10);
$sql="select * from suscriptores where rut='".str_replace(".","",$xrut)."'";
$res=execstmt($conn,$sql) or die(mysql_error());
echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
echo "<ROOT>";
if (countrows($res)==0)or die(mysql_error())) {
echo " <tabla>";
echo " <ID>0</ID>";
echo " </tabla>";
} else {
$tabla=excfetch($res)or die(mysql_error());
//sin xml
// echo $tabla['nombre']."-".$tabla['rut']."<br>";
//parte imprimible xml
echo " <tabla>";
echo " <IDSUSCRIPTORES>".$tabla["idsuscriptores"]."</IDSUSCRIPTORES>";
echo " <NOMBRES>".$tabla["nombres"]."</NOMBRES>";
echo " <APELLIDOS>".$tabla["apellidos"]."</APELLIDOS>";
echo " <SUSCRIPCION>".$tabla["suscripcion"]."</SUSCRIPCION>";
echo " <EMAIL>".$tabla["email"]."</EMAIL>";
echo " </tabla>";
}
echo "</ROOT>";
Código PHP:
<form name="form1" action="<?php echo $_SERVER['PHP_SELF'] ?>?tipo=suscribir" method="POST" onsubmit="return validar(this)">
<input type="hidden" name="idsuscriptores" value="0"> <td><input name="rut" type="text" onBlur="validar_rut(this.value)" maxlength="12" size="25"></td>
<td> </td>
</tr>
<tr>
<td class="textoblanco" align="right"><b>Nombre: </b></td>
<td><input type="text" name="nombres" size="25" onBlur="mayuscula(this)" maxlength="25"></td>
resulta que no me esta mostrando los datos..y me sale que
Active not defined en mozilla
source=new ActiveXObject("Microsoft.XMLDOM");
y en iexplorer me sale que se requiere un objeto
ya no su que puede ser..eso de antemanos gracias