Ответ 1
Да:
<script type="text/javascript">
var counter = 0;
</script>
и
<button onclick="counter++">Increment</button>
Могу ли я создать переменную javascript и увеличить эту переменную, когда я нажимаю кнопку (не отправляю форму). Спасибо!
Да:
<script type="text/javascript">
var counter = 0;
</script>
и
<button onclick="counter++">Increment</button>
Пуристский способ сделать это - добавить обработчики событий к кнопке, вместо того, чтобы смешивать поведение с содержимым (LSM, Слоистая семантическая разметка)
<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>
<script type="text/javascript">
var i=0;
function increase()
{
i++;
return false;
}</script><input type="button" onclick="increase();">
Мне нужно было увидеть результаты этого script и было в состоянии сделать это, включив ниже:
var i=0;
function increase()
{
i++;
document.getElementById('boldstuff').innerHTML= +i;
}
<p>var = <b id="boldstuff">0</b></p>
<input type="button" onclick="increase();">
добавьте тег "script" выше и закрывающий тэг script под фигурной скобкой функции. Возвращение ложного вызванного firefox зависает, когда я его пробовал. По моему опыту все другие решения не показали результат прироста.
Используйте type = "button"
вместо "submit"
, затем добавьте для него обработчик onClick
.
Например:
<input type="button" value="Increment" onClick="myVar++;" />
Да.
<head>
<script type='javascript'>
var x = 0;
</script>
</head>
<body>
<input type='button' onclick='x++;'/>
</body>
[Псевдо-код, бог, я надеюсь, что это правильно.]
да, предположим, что ваша переменная находится в глобальном пространстве имен:
<button onclick="myVar += 1;alert('myVar now equals ' + myVar)">Increment!!</button>
Я считаю, что вам нужно что-то похожее на следующее:
<script type="text/javascript">
var count;
function increment(){
count++;
}
</script>
...
и
<input type="button" onClick="increment()" value="Increment"/>
или
<input type="button" onClick="count++" value="Increment"/>
Была аналогичная проблема. Необходимо добавить столько текстовых входов, сколько пожелал пользователь, в форму. Функциональность его использования jQuery была ответом на вопрос:
<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>
Добавление счетчика к каждому новому идентификатору ввода привело к уникальным идентификаторам, которые позволяют получить все значения, используя функцию jQuery serialize().