Foros del Web » Programación para mayores de 30 ;) » Java »

:::document write:::

Estas en el tema de :::document write::: en el foro de Java en Foros del Web. Hola a todos soy nuevo en este foro y pues necesito de su ayuda... Tengo un formulario para un contactanos pero ahora lo que necesito ...
  #1 (permalink)  
Antiguo 08/10/2009, 10:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 40
Antigüedad: 14 años, 7 meses
Puntos: 0
:::document write:::

Hola a todos soy nuevo en este foro y pues necesito de su ayuda... Tengo un formulario para un contactanos pero ahora lo que necesito es que cuando el usuario no escriba nada en las cajas de texto mande un error por ejemplo asi cuando creamos una cuenta y si ese correo ya existe nos manda una advertencia o cuando queremos usar el nick de un usuario que ya existe el codigo hasta ahorita que tengo es el siguiente:
Cita:
if(document.frmcontactanos['txtnombre'].value == txtnombre[1]) { document.frmcontactanos['txtnombre'].focus(); document.write('el campo "nombre" es obligatorio.'); }
espero y me puedan ayudar!!!!
  #2 (permalink)  
Antiguo 08/10/2009, 10:47
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: :::document write:::

1º Eso es javascript, luego debería estar en el foro de javascript, este es el foro de java.

2º Creo que las ' ' se llevan mal con las " " internas. Prueba a escribirlo así:
document.write("el campo 'nombre' es obligatorio.");

edito aquí:

3º También puede ser que no estés llamando al elemento que quieres cambiar el contenido. Supongo que estás intentando cambiar el contenido de algún texto o label. Así que podrías probar con:

document.getElementById("Id").value("tu texto");

o

document.getElementByName("nombre").value("tu texto");

A ver que tal así

Última edición por Fuzzylog; 08/10/2009 a las 10:51 Razón: añadir opción extra
  #3 (permalink)  
Antiguo 08/10/2009, 10:57
 
Fecha de Ingreso: octubre-2009
Mensajes: 40
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: :::document write:::

gracias Fuzzylog alguien podria trasladarme de foro y gracias por tus sugerencias.... pero aun asi me traslada a otra pagina y necesito que me deje en la misma pagina y me mande el error en la misma Ayuda!!!!
  #4 (permalink)  
Antiguo 08/10/2009, 15:15
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: :::document write:::

Hola,

No sabía si responder aquí o alla ... en Javascript ...

Lo más probable es que necesites agregar:

return false;

Si ese código está dentro del Submit de un formulario, esa función debe regresar el valor 'false' para que no se lleve a cabo el 'Submit' y no te lleve a la página del post. (Pero solo dentro del if .. de otro modo nunca irías a la otra página).

Saludos,
  #5 (permalink)  
Antiguo 08/10/2009, 20:20
 
Fecha de Ingreso: octubre-2009
Mensajes: 40
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: :::document write:::

Mmm como no entiendo por favor explicame un poco mas y si disculpa que lo halla puesto en dos foros...

pero es que me urge mushisimo solucionar este problema.....

Ayuda!!!!
  #6 (permalink)  
Antiguo 09/10/2009, 01:38
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: :::document write:::

Básicamente HackmanC te ha dicho que controles el submit en función de lo que devuelva javascript.
Si valida: return true;
Si no valida: return false;
Entonces, en la acción submit del botón, solo debes realizarla en caso de que ese boolean validation sea true, en caso false el botón no debería dejarte enviar el formulario.
  #7 (permalink)  
Antiguo 09/10/2009, 07:23
 
Fecha de Ingreso: octubre-2009
Mensajes: 40
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: :::document write:::

Hola a todos esto es lo que tengo hasta al momento gracias por responder a mi mensaje haber si me pudieran decir en que estoy mal....
Cita:
<script type="text/javascript">
validateform=function()
{
var txtnombre = new array(document.getelementbyid('txtnombre'), document.frmcontactanos['txtnombre'].value);
var txtdireccion = new array(document.getelementbyid('txtdireccion'), document.frmcontactanos['txtdireccion'].value);
var txtemail = new array(document.getelementbyid('txtemail'), document.frmcontactanos['txtemail'].value);
var txttelefono = new array(document.getelementbyid('txttelefono'), document.frmcontactanos['txttelefono'].value);
var txtpoblacion = new array(document.getelementbyid('txtpoblacion'), document.frmcontactanos['txtpoblacion'].value);
var txtasunto = new array(document.getelementbyid('txtasunto'), document.frmcontactanos['txtasunto'].value);
var txtcomentario = new array(document.getelementbyid('txtcomentario'), document.frmcontactanos['txtcomentario'].value);
var submit = document.getelementbyid('btnenviar');

/* eventos */
txtnombre[0].onfocus = onfocus; txtnombre[0].onblur = onblur;
txtdireccion[0].onfocus = onfocus; txtdireccion[0].onblur = onblur;
txtemail[0].onfocus = onfocus; txtemail[0].onblur = onblur;
txttelefono[0].onfocus = onfocus; txttelefono[0].onblur = onblur;
txtpoblacion[0].onfocus = onfocus; txtpoblacion[0].onblur = onblur;
txtasunto[0].onfocus = onfocus; txtasunto[0].onblur = onblur;
txtcomentario[0].onfocus = onfocus; txtcomentario[0].onblur = onblur;
submit.onclick = validatefields;

/* funciones */
function onfocus() { if(document.frmcontactanos[this.name].value==eval(this.name)[1]) document.frmcontactanos[this.name].value='' }

function onblur() {
var value = document.frmcontactanos[this.name].value;
value = value.replace(/^\s*/, ''); value = value.replace(/\s*$/, '');
if(!value) document.frmcontactanos[this.name].value = eval(this.name)[1]
}

function validatefields() {
if(document.frmcontactanos['txtnombre'].value == txtnombre[1]) { document.frmcontactanos['txtnombre'].focus(); document.write("el campo 'nombre' es obligatorio."); }
else if(document.frmcontactanos['txtdireccion'].value == txtdireccion[1]) { document.frmcontactanos['txtdireccion'].focus(); document.write('el campo "dirección" es obligatorio.'); }
else if(document.frmcontactanos['txtemail'].value == txtemail[1]) { document.frmcontactanos['txtemail'].focus(); document.write('el campo "email" es obligatorio.'); }
else if(document.frmcontactanos['txttelefono'].value == txttelefono[1]) { document.frmcontactanos['txttelefono'].focus(); document.write('el campo "teléfono" es obligatorio.'); }
else if(document.frmcontactanos['txtpoblacion'].value == txtpoblacion[1]) { document.frmcontactanos['txtpoblacion'].focus(); document.write('el campo "población" es obligatorio.'); }
else if(document.frmcontactanos['txtasunto'].value == txtasunto[1]) { document.frmcontactanos['txtasunto'].focus(); document.write('el campo "asunto" es obligatorio.'); }
else if(document.frmcontactanos['txtcomentario'].value == txtcomentario[1]) { document.frmcontactanos['txtcomentario'].focus(); document.write('el campo "comentario" es obligatorio.'); }
else { return true; }
return false;
}
}

if(document.all&&window.attachevent) { window.attachevent("onload",validateform); } // ie-win
else if(window.addeventlistener) { window.addeventlistener("load",validateform,false) ; }

function solo_numerico(variable)
{
numer=parseint(variable);
if (isnan(numer))
{
return "";
}
return numer;
}
function valnumero(control)
{
control.value=solo_numerico(control.value);
}

claseerror="requerido";

function validoemail(email)
{
var s = email;
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(s))
return true;
else
return false;
}

function valida_envia()
{
var txtnombre = document.frmcontactanos.txtnombre.value;
var txtdireccion = document.frmcontactanos.txtdireccion.value;
var txttelefono = document.frmcontactanos.txttelefono.value;
var txtemail = document.frmcontactanos.txtemail.value;
var txtpoblacion = document.frmcontactanos.txtpoblacion.value;
var txtasunto = document.frmcontactanos.txtasunto.value;
var txtcomentario = document.frmcontactanos.txtcomentario.value;

if (txtnombre.length==0 || txtdireccion.length==0 || txttelefono.length==0 || txtemail.length==0 || txtpoblacion.length==0 || txtasunto.length==0 || txtcomentario.length==0)
{
document.getelementbyid("error").style.display="bl ock";
if (txtnombre.length==0) document.frmcontactanos.txtnombre.classname=clasee rror; else document.frmcontactanos.txtnombre.classname="";
if (txtdireccion.length==0) document.frmcontactanos.txtdireccion.classname=cla seerror; else document.frmcontactanos.txtdireccion.classname="";
if (txttelefono.length==0) document.frmcontactanos.txttelefono.classname=clas eerror; else document.frmcontactanos.txttelefono.classname="";
if (txtemail.length==0) document.frmcontactanos.txtemail.classname=claseer ror; else document.frmcontactanos.txtemail.classname="";
if (txtpoblacion.length==0) document.frmcontactanos.txtpoblacion.classname=cla seerror; else document.frmcontactanos.txtpoblacion.classname="";
if (txtasunto.length==0) document.frmcontactanos.txtasunto.classname=clasee rror; else document.frmcontactanos.txtasunto.classname="";
if (txtcomentario.length==0) document.frmcontactanos.txtcomentario.classname=cl aseerror; else document.frmcontactanos.txtcomentario.classname="" ;
return 0;
}
else
{
document.frmcontactanos.submit();
}

}

function revalida(cual)
{
var ese = document.getelementbyid(cual).value;
if (ese.length>0){document.getelementbyid(cual).class name="";}

var txtnombre = document.frmcontactanos.txtnombre.value;
var txtdireccion = document.frmcontactanos.txtdireccion.value;
var txttelefono = document.frmcontactanos.txttelefono.value;
var txtemail = document.frmcontactanos.txtemail.value;
var txtpoblacion = document.frmcontactanos.txtpoblacion.value;
var txtasunto = document.frmcontactanos.txtasunto.value;
var txtcomentario = document.frmcontactanos.txtcomentario.value;

if (txtnombre.length>0 && txtdireccion.length>0 && txttelefono.length>0 && txtemail.length>0 && txtpoblacion.length>0&& txtasunto.length>0 && txtcomentario.length>0){document.getelementbyid("e rror").style.display="none";}
if (txtemail.length>0){
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email))
{
document.frmcontactanos.txtemail.classname="";
document.getelementbyid("error2").style.display="n one";
}
else
{
document.getelementbyid("error2").style.display="b lock";
document.frmcontactanos.txtemail.classname=claseer ror;
}
}
}
</script>
y en el input type text tengo esto:

Cita:
<input name="txtnombre" type="text" id="txtnombre" tabindex="1" class="input-text" title="introduce tu nombre" value="---nombre---" accesskey="n" onkeypress="javascript:revalida(this.id);">
<p id="error" class='error' style='display:none'>introduce el nombre es obligatorio</p>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:46.