2009-05-08 20 views

Respuesta

40

Sí:

<script type="text/javascript"> 
var counter = 0; 
</script> 

y

<button onclick="counter++">Increment</button> 
+1

Estaba tipeándolo, cuando lo publicaste. – UnkwnTech

+1

He arreglado tu botón html. – UnkwnTech

+3

Tiene una etiqueta de entrada abierta y una etiqueta de botón de cierre. –

6
<script type="text/javascript"> 
var i=0; 

function increase() 
{ 
    i++; 
    return false; 
}</script><input type="button" onclick="increase();"> 
+0

oh seguro, vaya con la llamada a la función agradable. :) –

+0

con "return false" indicado en la función o en el evento onclick, no publicará el formulario. – balint

+1

¿Publicaría el formulario como un botón y no como un envío? –

0

Sí.

<head> 
<script type='javascript'> 
var x = 0; 
</script> 
</head> 
<body> 
    <input type='button' onclick='x++;'/> 
</body> 

[pseudo código, dios espero que esto es lo correcto.]

+0

sí está bien ... – UnkwnTech

0

sí, suponiendo la variable está en el espacio de nombres global:

<button onclick="myVar += 1;alert('myVar now equals ' + myVar)">Increment!!</button> 
1

Uso type = "button" en lugar de "submit", a continuación, añadir una onClick controlador para ello.

Por ejemplo:

<input type="button" value="Increment" onClick="myVar++;" /> 
+0

prefiero

+0

@rgz agradable de la etiqueta /. No lo sabía –

0

creo que necesita algo similar a lo siguiente:

<script type="text/javascript"> 
var count; 
function increment(){ 
    count++; 
} 
</script> 

... 

y

<input type="button" onClick="increment()" value="Increment"/> 

o

<input type="button" onClick="count++" value="Increment"/> 
10

La forma purista de hacer esto sería añadir controladores de eventos al botón, en lugar de mezclar el comportamiento con el contenido (LSM, en capas semántica de marcado)

<input type="button" value="Increment" id="increment"/> 

<script type="text/javascript"> 
    var count = 0; 
    // JQuery way 
    $('#increment').click(function (e) { 
     e.preventDefault(); 
     count++; 
    }); 
    // YUI way 
    YAHOO.util.Event.on('increment', 'click', function (e) { 
     YAHOO.util.Event.preventDefault(e); 
     count++; 
    }); 
    // Simple way 
    document.getElementById('increment').onclick = function (e) { 
     count++; 
     if (e.preventDefault) { 
      e.preventDefault(); 
     } 
     e.returnValue = false; 
    }; 
</script> 
+1

No hay acción predeterminada de un botón de modo que no es necesario para evitarlo. –

4

que necesitaba para ver los resultados de este guión y estaba en condiciones de hacerlo incorporando el siguiente:

var i=0; 

function increase() 
{ 
i++; 
document.getElementById('boldstuff').innerHTML= +i; 
} 

<p>var = <b id="boldstuff">0</b></p> 
<input type="button" onclick="increase();"> 

agregar la etiqueta "guión" y, sobre todo, una etiqueta de script de cierre por debajo de la llave de extremo función. Al volverse falso, Firefox se colgó cuando lo probé. Todas las demás soluciones no mostraron el resultado del incremento, en mi experiencia.

0

Tuve un problema similar. Necesario para agregar tantas entradas de texto como el usuario desee, a un formulario. La funcionalidad de la misma usando jQuery fue la respuesta a la pregunta:

<div id='inputdiv'> 
<button id='mybutton'>add an input</button> 
</div> 

<script> 
var thecounter=0; //declare and initialize the counter outside of the function 
$('#mybutton').on('click', function(){ 
thecounter++; 
$('#inputdiv').append('<input id="input'+thecounter+'" type="text/>); 
}); 
</script> 

Adición de la cuenta a cada nueva entrada de Identificación del resultado en los identificadores únicos que te permite obtener todos los valores utilizando la función de jQuery serializar().

Cuestiones relacionadas