JavaScript - Asignar texto a label

   
Vista:
Imágen de perfil de Emiliano

Asignar texto a label

Publicado por Emiliano (9 intervenciones) el 20/05/2015 05:08:50
Hola como están tendrían la amabilidad de guiarme un poco,

tengo un form en html, cajas de text, label y un botón para enviar, el mismo que al hacer click debe validar para evitar campos vacíos el código lo tengo así:


1
2
3
4
5
6
7
8
9
function valida_envia(){
 
if (document.nuevo_cliente.nombre.value.length!=0){
      	document.nuevo_clientes.submit("enviarDatosCliente()");
   	}else{
        document.getElementById('nnombre').innerHTML="Ingrese el nombre";
      	document.nuevo_cliente.focus()
	}
}

Pero si el valor es vació, que se presente un mensaje en un label con nombre nnombre, pero no lo hace, estoy haciendo algo mal o que sucede.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Asignar texto a label

Publicado por xve (1595 intervenciones) el 20/05/2015 08:23:57
Hola Emiliano nos puedes mostrar el formulario? simplemente viendo la función de js no te se decir...

La pagina se refresca?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Emiliano

Asignar texto a label

Publicado por Emiliano (9 intervenciones) el 20/05/2015 16:06:11
Hola gracias por responder, el formulario lo tengo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form name="nuevo_cliente">
	<fieldset id="fiel1" Class="fielSet"><legend Class="legen1"> Ingrese la información </legend>
		<table>
			<tr>
				<td><label Class="txtlabels" >Nombre:</label></td>
				<td><input id="txtNombre" name="nombre" type="text" Class="txtforms" maxlength="20" onkeypress="return validar_letras(event)"><label Class="txtObligatorio">*</label></td>
			</tr>
		</table>
		<br/>
		<div Class="dvb"><input id="btningresar" type="button" value="Registrar" onclick="valida_envia()"  Class="button_01">
			<input id="btnlimpiar" type="reset" value="Limpiar" Class="button_01">
		</div>
		<br/>
		<h3 id="tablas"><div id="resultado"></div></h3>
	</fieldset>
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Asignar texto a label

Publicado por xve (1595 intervenciones) el 20/05/2015 22:29:25
Hola Emiliano, he encontrado un error la hacer referencia al formulario, y me faltaba el id nnombre aquí te lo adjunto solucionado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<script>
function valida_envia(){
	if (document.forms["nuevo_cliente"].nombre.value.length!=0){
		document.forms["nuevo_cliente"].submit("enviarDatosCliente()");
	}else{
		document.getElementById('nnombre').innerHTML="Ingrese el nombre";
		document.forms["nuevo_cliente"].focus()
	}
}
</script>
<div id="nnombre"></div>
<form name="nuevo_cliente">
	<fieldset id="fiel1" Class="fielSet"><legend Class="legen1"> Ingrese la información </legend>
		<table>
			<tr>
				<td><label Class="txtlabels" >Nombre:</label></td>
				<td><input id="txtNombre" name="nombre" type="text" Class="txtforms" maxlength="20" onkeypress="return validar_letras(event)"><label Class="txtObligatorio">*</label></td>
			</tr>
		</table>
		<br/>
		<div Class="dvb">
			<input id="btningresar" type="button" value="Registrar" onclick="valida_envia()"  Class="button_01">
			<input id="btnlimpiar" type="reset" value="Limpiar" Class="button_01">
		</div>
		<br/>
		<h3 id="tablas"><div id="resultado"></div></h3>
	</fieldset>
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Emiliano

Asignar texto a label

Publicado por Emiliano (9 intervenciones) el 21/05/2015 01:24:10
Hola, gracias con sus observaciones ya valida normalmente.

Pero tengo una duda como se debe llamar al método :

document.forms["nuevo_cliente"].submit("enviarDatosCliente()");

de esa manera no envia la información al método, estoy realizándolo con ajax, primero pasa

enviarDatosCliente() ajax y luego a registrar.php.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas

Asignar texto a label

Publicado por Vainas (239 intervenciones) el 22/05/2015 20:21:14
Buenas:

el evento submit en javascript no tiene parametros asi que aunque le pases enviarDatosCliente() eso no hace nada.

Si lo que quieres es enviar primero un ajax y luego que se ejecute el submit has de ejecutar enviarDatosCliente() primero y dentro del success (o funcion que diga que ya se ha ejecutado el ajax) ya puedes llamar al submit (espero haberme explicado), algo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function enviarDatosCliente(){
	$.ajax({
  url: "http://....",
})
  .done(function( datos ) {
  	document.forms["nuevo_cliente"].submit();
  });
}
 
function valida_envia(){
	if (document.forms["nuevo_cliente"].nombre.value.length!=0){
		enviarDatosCliente();
	}else{
		document.getElementById('nnombre').innerHTML="Ingrese el nombre";
		document.forms["nuevo_cliente"].focus()
	}
	return false;
}

fijate que al valida_envia le pongo un return false para que no se ejecute ningun submit ni nada mas que corresponda al boton. En enviarDatosCliente una vez que me he asegurado que los datos han sido enviados ya puedo hacer submit.

Espero que sea esto lo que necesitabas.


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar