Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Ayuda con JavaScript Basico
#1
Hola! No tengo mucha idea de JavaScript, lo mio es el PHP, pero en este caso necesito hacer uso de un código y no logro hacer que funcione correctamente, y eso que se supone que es bastante básico, pero bueno, algo no sabre ponerlo bien, ya se sabe como son estas cosas, una simple coma hace que todo deje de funcionar.

Código:
<script>
function C(){
if(A.value > 4){ A.value = 1; }
}
</script>

<form>
<input name='A' value='1'>
<input type='button' value='+' onClick='A.value++; C();'>
</form>

Como se puede intuir en el código, al pulsar el botón aumenta el valor de A, eso funciona, pero no logro detenerlo, es decir, que cuando llegue a 4 regrese al valor 1. ¿Que hago mal?
#2
Ve si te sirve esto :

<!DOCTYPE HTML>
<html>
<head>
 
   <script>
   var V=1;
   function C(){
 
      if ( V  == undefined || V  ==4)
    {
         V  = 1;
      }
   
    else{
        V ++
      
    }
 return V;
}

</script>
</head>

<body>

 
<form>
<input name='A' value="1" >
<input type="button" value="+" onclick="A.value=C();" >
</form>

</body>
</html>

Slds!
#3
Bueno, echandole un vistazo a tu codigo y modificando algunas cosas logré hacer lo que quería, solo tiene un pequeño fallo y otra cosa que a mi como programador no me gusta.

Antes de nada, la dirección para echarle un vistazo, es esta: ********

Es un juego, el típico de girar las fichas para que aparezca la imagen.

El problema que le encuentro es que con el primer click de cada casilla no funciona y lo otro que no me gusta es que tuve que "casi" repetir el mismo codigo 6 veces...

Aunque creo que lo mas complicado es lo de mostrar el botón una vez completado el puzzle

Alguna sugerencia? Sonrisa
#4
Usa jquery para mostrar u ocultar
#5
@NepT1 El enlace que colocaste puede ser considerado spam, lo he eliminado.

Si los elementos tienen el mismo nombre, puedes usar el selector getElementsByName() e iterar todos sus elementos, luego con un simple if/else compruebas el rango de valores permitidos y cambias su valor, así evitas copiar/pegar el mismo código como mencionas, e inclusive podrías pasar el nombre de los elementos como parámetro de la función.

Por ejemplo:

Código:
<script>
function C() {
    var A = document.getElementsByName('A');

    // Recorro el array devuelto por getElementsByName()
    for (var i = 0; i < A.length; i++) {

        // Compruebo el rango de valores
        if (A[i].value >= 1 && A[i].value < 4) {
            A[i].value++;
        } else {
            A[i].value = 1;
        }
    }

    return false;
}
</script>

<form>
<input name='A' value='1'>
<input name='A' value='2'>
<input name='A' value='3'>
<input type='button' value='+' onClick='javascript:C();'>
</form>

Podrás ver que todos cambian su valor hasta llegar a 4 (no sé si este sea el resultado que esperabas).

Después de que ocurra el evento para finalizar el puzzle, con JavaScript puedes mostrarlo con la propiedad "display".
WWW
#6
bfff que susto, se me había borrado todo el contenido de la carpeta, suerte que tenia una copia de seguridad reciente. voy a echarle un vistazo a lo que comentáis.

P.D. La dirección la puse para que podáis ver como quedó o a lo que me estaba refiriendo.
#7
(28-10-2014, 07:00 PM)AbaddonOrmuz escribió:
Código:
<script>
function C() {
    var A = document.getElementsByName('A');

    // Recorro el array devuelto por getElementsByName()
    for (var i = 0; i < A.length; i++) {

        // Compruebo el rango de valores
        if (A[i].value >= 1 && A[i].value < 4) {
            A[i].value++;
        } else {
            A[i].value = 1;
        }
    }

    return false;
}
</script>

<form>
<input name='A' value='1'>
<input name='A' value='2'>
<input name='A' value='3'>
<input type='button' value='+' onClick='javascript:C();'>
</form>

Del ejemplo que has puesto, se puede hacer que el array diferencie a que boton se a pulsado?, ejemplo: pulso en el que esta con valor 2 y solo aumenta su valor

Había pensado algo similar a esto: 

Código:
<input name='A' value='1' onClick='javascript:document.getElementsByName("A")[0].value++; C();>
#8
(30-10-2014, 06:15 AM)NepT1 escribió: Del ejemplo que has puesto, se puede hacer que el array diferencie a que boton se a pulsado?, ejemplo: pulso en el que esta con valor 2 y solo aumenta su valor

A qué te refieres con "diferenciar"? no tengo muy claro qué es lo que necesitas o pretendes realizar.

Quieres que los números cambien aleatoriamente dentro de un rango? que cada input tenga su propio botón que cambie el valor?

El botón sólo hace una tarea, cambia el valor de todos los elementos con el nombre "A".
WWW
#9
(30-10-2014, 07:38 AM)AbaddonOrmuz escribió: A qué te refieres con "diferenciar"? no tengo muy claro qué es lo que necesitas o pretendes realizar.

Quieres que los números cambien aleatoriamente dentro de un rango? que cada input tenga su propio botón que cambie el valor?

El botón sólo hace una tarea, cambia el valor de todos los elementos con el nombre "A".

Ya lo tengo casi resulto, si no fuese por el dichoso NaN, no lo entiendo, si se hace mediante un boton funciona, pero desde una imagen no.

Código:
<script>
function Cambia() {
 var A = document.getElementsByName('Foto')[0].value; if (A == undefined) { var A = "<? echo $A; ?>"; }
 var B = document.getElementsByName('Foto')[1].value; if (B == undefined) { var B = "<? echo $B; ?>"; }
 alert('Valor de A: ' + A + ' Valor de B: ' + B);
}
</script>

<img src='juego/1/A<? echo $A ?>.jpg' name='Foto' value='<? echo $A; ?>' onClick='this.value++; Cambia();'>
<img src='juego/1/A<? echo $B ?>.jpg' name='Foto' value='<? echo $B; ?>' onClick='this.value++; Cambia();'>
#10
Bueno, pues ya esta solucionado el problema, al final resulta que como es una imagen no se le puede usar el value++ así que tuve que hacer uso de unas medidas mas drásticas y por ahora todo correcto Sonrisa


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Bootstrap Formulario Basico cmascreativo.ml 5 127 08-10-2018, 06:53 AM
Último mensaje: Boreas
  Pantalla Completa con Javascript cmascreativo.ml 1 63 02-10-2018, 03:14 PM
Último mensaje: easy english
  Curso básico de programación creativa con Scratch en contextos educativos (2018) Sprystate 3 147 02-08-2018, 09:03 AM
Último mensaje: ArtuGar
  JavaScript en 14 minutos Posits 5 268 12-04-2018, 08:44 AM
Último mensaje: easy english
  [Tutorial] Métodos para redireccionar URLs (HTML, PHP y Javascript wiston3 1 384 01-12-2016, 11:12 PM
Último mensaje: zeuz
  Linux Foundation respalda JavaScript Kiichi 3 446 03-11-2016, 03:43 AM
Último mensaje: habacuc78
  Curso básico de introducción a la programación Posits 1 513 04-08-2016, 02:48 AM
Último mensaje: antony_tj
  [Aporte] Curso básico de Javascript habacuc78 22 1,700 05-07-2016, 03:53 PM
Último mensaje: escuelasegura
  Trucos y efectos de Javascript para tu página web CarlosAlberto 0 661 05-01-2016, 03:51 PM
Último mensaje: CarlosAlberto
Sonrisa [Tutorial] Cómo utilizar Javascript para actualizar un Título R0bert0 0 797 05-12-2015, 10:07 PM
Último mensaje: R0bert0



Usuarios navegando en este tema: 1 invitado(s)