Автоматично изпълнение на функция - как?

anonimen

Super Moderator
Имам този javascript код:
[js]<script>
function umnoji_po_2(){
var a=Number(document.form.input.value);
var b=a*2;
document.form.input1.value=b;
}
</script>[/js] и следния html код:
HTML:
<form name="form">
<input type="text" name="input" />
<input type="text" name="input1" />
<input type="button" value="Умножи по 2" onClick="umnoji_po_2();" />
</form>
.
Всичко работи много добре, но искам функцията да се изпълнява автоматично, без да се цъка бутона. Някаква идея?
 
[js]
<script>

ducument.onLoad=umnoji_po_2; // variant 1

$(function(){

umnoji_po_2(); // wariqnt 2

});
</script>

[/js]
 
Добави jQuery библиотеката към <head>
HTML:
<script src="http://code.jquery.com/jquery-latest.js"></script>

и сложи
HTML:
<script>
$(function() {
$('input[name=input]').keypress(function() {
var num = $(this).val();
$('input[name=input]').val(num * 2);
});
});
</script>

и махни бутона и си готов :)
 
Някой да предложи по-сложен вариант ? Това без PHP, MySQL и C++ не може да стане.

------

Ако искаш дадена функция да се изпълнява при зареждането на страницата, направи следното:


<body onload="imeto_na_funkciata()">

http://www.w3schools.com/jsref/event_body_onload.asp
 
брее , ми аз какво написах ...
[js]
document.onLoad=your_function;
[/js]

и така ще може да добави повече от една .. и просто му дадох и другия вариант .. ма кой да чете .. :D
 
0fb33b4f515d1231.jpg


но искам функцията да се изпълнява автоматично, без да се цъка бутона. Някаква идея?

Колеги моля и 2мата да прочетете какво пише в линка който madmax3_ е дал ;) Как е onLoad автоматично БЕЗ бутон(и без onLoad за който е нужен рефреш) ще му се умножава там по 2 или каквато функцията да се изпълнява...?

@madmax3_
Някой да предложи по-сложен вариант ? Това без PHP, MySQL и C++ не може да стане.
надявам се това е било сърказъм :)

П.П.
Всичко работи много добре
т.е при натискане на бутона се изпълнява функцията... а той иска при въвеждане в полето да се изпълни сама... ;)
 
<input type="text" id="result" />
<input type="text" onkeyup="document.getElementById('result').value = 2 * this.value" />

или


<input type="text" onkeyup="umnoji_po_2(this.value)" />
 
От всички кодове, единствено кода на madmax3_ работи както трябва, за което му благодаря и той ще си получи точката :) :?:

@M1tq96, не знам дали си го пробвал твоя код, но при мен няма никаква разлика с преди (освен, че кода стана с няколко реда по-голям)
@IzKuFeLiQqQqQ, при твоя код нещо става :oops: , но при едноцифрени числа като напиша 1, например, ми се изписва 01, ако напиша 2, ми се изписва 02 и т.н. При двуцифрените числа - умножава първата цифра и пише втората, а при трицифрените...

Ето в крайна сметка правилния код (трябваше да махна на М1tg96 единия ред, но се получи) :

Код:
<input type="text" onkeyup="document.getElementById('result').value = 2 * this.value" size="20" />
<input type="text" id="result" size="20" />
При него не се използват никакви други javascript-ове.
 
madmax3_ каза:
<input type="text" id="result" />
<input type="text" onkeyup="document.getElementById('result').value = 2 * this.value" />

или


<input type="text" onkeyup="umnoji_po_2(this.value)" />

Ето така по бива...и по това което той иска е по първия начин
 

Горе