JavaScript - evento js

   
Vista:
Imágen de perfil de Hfr

evento js

Publicado por Hfr (29 intervenciones) el 15/03/2016 15:31:00
hola,chicos con php dibujo 10 campos, y con js creo el evento para habilitar los campos dibujados,
ya pobre de varias formas diferentes y no funciona, al dibujar los campos con php funciona bien sin problema, pero el js no funciona, me pueden dar una mano porfa...


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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php $valor=10; ?>
<html>
<head>
 
 
<link rel="stylesheet" href="ventana.css">
 
<script>
 
function  habilitar(form)
 
{
 
 
if (form.campod.disabled == true)
 
	{
 
var va="<?php echo $valor; ?>";
 
	for (x=1; x<=va.length; x++)
		{
	form.campo[x].disabled=false;
 
		}
 
return false;
}
}
</script>
 
 
</head>
<body>
 
<form  action="" method="POST">
 
campo  <input type="text" name="campod"   disabled > <br><br><br>
<?php  for ($x=1; $x<=$valor;  $x++) {?>
 
 
campo    <input type="text" name="campo<?php echo $x; ?>"  value=""  disabled>
<br>
<?php } ?>
 
 
 
 
<br>
<input type="submit" value="click"   onClick="return habilitar(this.form);"  >
 
</form>
 
 
 
</body>
 
</html>
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

evento js

Publicado por deo (21 intervenciones) el 16/03/2016 21:25:06
Con 'F12' en el navegador puedes ver la consola
y alguna instrucción como ésta en el sitio adecuado te puede ir dando pistas:

console.log("va.length"+va.length); // muestra en la consola un texto y un valor..... // undefined?

A mi me sugiere que no conoce la codificación?? Tal vez sea util algo en <head> como:

<meta charset="ISO-8859-1" >

Algo raro:
name="campo<?php echo $x; ?>"
una instruccion php DENTRO de un string??? Sera interpretada como parte del string, no?
Acaso:
name="campo" + <?php echo $x; ?>" ...... o algo similar no sé... porque hay que saber Js y php, y no es mi caso, pero te digo lo que se mne hace raro.
Suerte.
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 Hfr

evento js

Publicado por Hfr (29 intervenciones) el 16/03/2016 21:39:57
Hola, deo , he estado dando le cabeza al asunto, pero a un tengo problema con el evento
la primera instrucción que le di al ciclo
1
2
3
4
for (x=1; x<=va.length; x++)
{
	form.campo[x].disabled=false;
}


esto jamas me va a funcionar porque no existe ningún campo en la posición de x
lo que existe es un campo con un name " name="campo1", name="campo2", name="campo3" etc. " que es resultado de for que se realizo con php

yo la cambie por esta instrucción
form.campo+x.disabled=false;
con eso le indico al for que habilite las caja de texto con el name campo dado la cuenta que lleva x de tal forma que pueda quedar así
name="campo1", name="campo2", name="campo3",etc.

pero a un no funciona

1
2
3
4
5
6
7
8
var  xvalor=10;
 
for (x=1; x<=xvalor.length; x++)
{
	form.camp+x.disabled=false;
 
	form.campo.concat(x).disabled=false;
}



pero no, aun sigue sin funcionar
ahora estoy tratando con while

1
2
3
4
5
6
7
8
9
10
if (form.campoxl.disabled ==true)
 
	form.cancelar.disabled= false;
	form.editar.disabled= true;
	var d =10;
	var x =true;
	while (form.editar==x)
	{
 
	}
}

pero hasta el momento todo a sido negativo ....
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

evento js

Publicado por deo (21 intervenciones) el 18/03/2016 09:08:13
No veo el sentido a esto:

form.camp+x.disabled=false;

No he visto todo tu código, solo te comento cosas que me resultan extrañas y me hacen pensar que no entiendes el lenguaje. Si es este el caso, tal vez debas empezar por estudiar los fundamentos en algún tutorial.

Veamos: A la izquierda del '=' tienes operaciones????? eso es raro no?

normalmente a la izq (en la mayoría de los casos de cualquier lenguaje de programación) tendrás una referencia a un objeto sobre el que quieres hacer algo. En este caso asignarle (=) algo...

Pero si tu 'sumas' un string a otro, el resultado es un string, no una referencia a nada, y a ....

"string" = false

no le veo el sentido.

Tal vez podría tener sentido algo parecido a:

objeto = document.getElementByName("string");
objeto.unapropiedaddelobjeto = false;

pero como te digo, no he mirado tu código con detenimiento porque no lo entendía. Espero, sin embargo, que mis observaciones te puedan servir de algo.
Un Saludo.
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 Hfr

evento js

Publicado por Hfr (29 intervenciones) el 18/03/2016 15:07:34
hola deo gracias por comentar, resulta que yo encontré un ejemplo hace varios meses para desbloquear campos de un formulario al dar click
la función era tal cual a esta.


1
2
3
4
5
6
function habilita(form)
{
form.campo1.disabled= false;
form.campo.2.disabled= false;
form.campo3.disabled= false;
}

lo que me explicaron fue la función recibía un parámetro form(formulario ) le indicabamos el id o el name del input, y luego le adicionamos la propiedad bien fuera( disabled, value, readOnly etc.) le decíamos false o true y este dejaba el campo solo lectura, o habilitado como fuera el caso,

muchos de los eventos que tengo los construí de esta manera y han funcionado bien.

pero hay uno que es un caso diferente ya que de acuerdo a un conteo de registros que se a en otra parte de la aplicación yo dibujo una matriz de 6 por n tres label y 3 cajas de texto, si la cantidad son 10 pues dibuja 10 filas, si son 5 dibuja 5 filas ..etc.
los campos por defecto esta inhabilitados, el evento lo que haría seria habilitarlos para poder modificar los los datos contenidos en los campos.



1
2
3
4
5
6
function habilita(form)
{
form.campo1.required = false;
form.campo.2.required = false;
form.campo3.required = false;
}
de acuerdo a lo anterior
pensé en un ciclo para habilitar los campos de la matriz
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function  habilitar(form)
{
 
if (form.campod.disabled == true)
{
 
var va="<?php echo $valor; ?>";
 
	for (x=1; x<=va.length; x++)
	{
		form.campo+x.disabled=false;
	}
 
	return false;
}
}
</script>
pero pues no podido generar el evento para habilitar los campos de ese formulario
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 Hfr

evento js

Publicado por Hfr (29 intervenciones) el 22/03/2016 15:34:14
Hola deo,
investigue un poco y logre realizar el evento de esta forma

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<html>
<head>
<script language="JavaScript">
     function habilita(){
 
 
        elementos=document.getElementsByClassName("campos");
        for(var i = 0; i < elementos.length; i++)
        {
            elementos[i].disabled = false;
 
 
        }
					return false;
 
    }
 
    function deshabilita(){
 
 
        elementos=document.getElementsByClassName("campos");
        for(var i = 0; i < elementos.length; i++)
        {
            elementos[i].disabled = true;
        }
		return false;
    }
</script>
</head>
 
<body>
 
    <form name='form'>
 
 
       <table> <tr><td> <?php   $valor=10; for($i=0;$i<=$valor; $i++) {?>
		<input type='text' name="txt<?php  echo $i ;  ?>" disabled  class='campos'>&nbsp;&nbsp;&nbsp;&nbsp;
 
		<select name ="datox<?php  echo $i ;  ?>" disabled  class='campos'  >
		<option></option>
		<option>iniciio2</option>
		<option>iniciio3</option>
		</select><br>
 
		</Td>
 
		</Tr>
		<?php }?>
		</Table>
		   <input type='submit' name='nuevo' value='habilitar' id='btn1' onClick="return habilita()">
 
        <input type='submit' name='cancelar' value=' inhabilitar'   id='btn2' onClick="return deshabilita()"><br>
 
 
    </form>
</body>
</html>

aquí les comparto el código utilice
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 xve

evento js

Publicado por xve (1595 intervenciones) el 22/03/2016 20:06:18
Gracias por compartirlo!!!
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