automatisch submit, via value!
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<form id="amyform" name="amyform" method="post">
<input type="submit" name="submit" value="Zoek deze persoon!">
</form>
<script language="Javascript">
function doSubmit() {
document.amyform.submit.click();
}
doSubmit();
</script>
<input type="submit" name="submit" value="Zoek deze persoon!">
</form>
<script language="Javascript">
function doSubmit() {
document.amyform.submit.click();
}
doSubmit();
</script>
Met deze code word er automatisch op de submit button gedrukt.
Kan ik nu ook zorgen dat ik bij deze code:
document.amyform.submit.click();
ipv, de submit name, de submit value kan gebruiken?
Dat ik die regel bijvoorbeeld dit kan maken:
document.amyform.Zoek deze persoon!.click();
Of is dit niet mogelijk?
Je kunt ook de submit-knop naam aanpassen, zoals submit_zoek_persoon
Yoran Vulker op 23/05/2012 09:28:26:
Je kunt ook de submit-knop naam aanpassen, zoals submit_zoek_persoon
Dit wil ik liever niet doen, maar hier heb ik andere redenen voor.
Als je echt per button-value wilt, kan je bijvoorbeeld:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
var theValue = 'buttonvalue';
var inputs = document.amyform.getElementsByTagName('input');
for (element in inputs) {
if (inputs[element].type == 'submit' && inputs[element].value == theValue) {
inputs[element].click();
}
}
var inputs = document.amyform.getElementsByTagName('input');
for (element in inputs) {
if (inputs[element].type == 'submit' && inputs[element].value == theValue) {
inputs[element].click();
}
}
(code is niet getest, maar op die manier kan je dan op waarde van de knop zoeken.)
Dit is natuurlijk wel veel makkelijker met jquery:
http://api.jquery.com/attribute-equals-selector/
Gewijzigd op 23/05/2012 10:18:00 door de VeeWee
De VeeWee op 23/05/2012 10:11:50:
Je kan best een submit op het form doen:
Als je echt per button-value wilt, kan je bijvoorbeeld:
(code is niet getest, maar op die manier kan je dan op waarde van de knop zoeken.)
Dit is natuurlijk wel veel makkelijker met jquery:
http://api.jquery.com/attribute-equals-selector/
Als je echt per button-value wilt, kan je bijvoorbeeld:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
var theValue = 'buttonvalue';
var inputs = document.amyform.getElementsByTagName('input');
for (element in inputs) {
if (inputs[element].type == 'submit' && inputs[element].value == theValue) {
inputs[element].click();
}
}
var inputs = document.amyform.getElementsByTagName('input');
for (element in inputs) {
if (inputs[element].type == 'submit' && inputs[element].value == theValue) {
inputs[element].click();
}
}
(code is niet getest, maar op die manier kan je dan op waarde van de knop zoeken.)
Dit is natuurlijk wel veel makkelijker met jquery:
http://api.jquery.com/attribute-equals-selector/
Ik heb geen verstand van jquery, dus wil dit liever niet gebruiken.
Ik heb je code geprobeerd en heb dit neergezet:
Helaas snap ik deze code niet erg, en weet ik dus ook niet wat ik verkeerd doe.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<form id="amyform" name="amyform" method="post">
<input type="submit" name="submit" value="submit">
</form>
<script language="Javascript">
var theValue = 'Zoek deze persoon!;
var inputs = document.amyform.getElementsByTagName('input');
for (element in inputs) {
if (inputs[element].type == 'submit' && inputs[element].value == theValue) {
inputs[element].click();
}
}
</script>
<input type="submit" name="submit" value="submit">
</form>
<script language="Javascript">
var theValue = 'Zoek deze persoon!;
var inputs = document.amyform.getElementsByTagName('input');
for (element in inputs) {
if (inputs[element].type == 'submit' && inputs[element].value == theValue) {
inputs[element].click();
}
}
</script>
Gewijzigd op 23/05/2012 10:25:15 door Tom aan t Goor
Volgende code gebruikt om te testen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<html>
<head></head>
<body>
<form id="amyform" name="amyform" method="post">
<input type="submit" name="submit" value="Zoek deze persoon!" onclick="alert('gevonden'); return false;">
</form>
<script type="text/javascript">
function doSubmit(theValue) {
var inputs = document.amyform.getElementsByTagName('input');
for (element in inputs) {
if (inputs[element].type == 'submit' && inputs[element].value == theValue) {
inputs[element].click();
}
}
}
doSubmit('Zoek deze persoon!');
</script>
</body>
</html>
<head></head>
<body>
<form id="amyform" name="amyform" method="post">
<input type="submit" name="submit" value="Zoek deze persoon!" onclick="alert('gevonden'); return false;">
</form>
<script type="text/javascript">
function doSubmit(theValue) {
var inputs = document.amyform.getElementsByTagName('input');
for (element in inputs) {
if (inputs[element].type == 'submit' && inputs[element].value == theValue) {
inputs[element].click();
}
}
}
doSubmit('Zoek deze persoon!');
</script>
</body>
</html>
Je hebt nu dus een submit button met de value 'Zoek deze persoon!'.
De functie doSubmit neemt als parameter theValue. Deze is 'Zoek deze persoon!', dus de functie wordt helemaal onderaan aangeroepen met deze waarde.
De functie zelf gaat alle input elementen uit het form met de naam amyform halen. Dan wordt er gekeken of het element een submit knop is. Als dit zo is, wordt er gekeken of de waarde van deze knop, de parameter van de functie is. In dit geval dus 'Zoek deze persoon!'.
Als de knop dus gevonden is. Dan wordt er ten slotte nog op geklikt.
Gewijzigd op 23/05/2012 13:10:05 door de VeeWee
Kan je dan ook nog toevoegen dat dit script staat op de pagina: index.php
En dat de zoek functie staat op zoeken.php ?
En dus de value van de button op zoeken.php gebruikt?
Kan dit gewoon via:
<form id="amyform" name="amyform" method="post" action="zoeken.php">
Of werkt dat niet?
Gewijzigd op 23/05/2012 15:08:09 door Tom aan t Goor
Als de code op de index pagina staat, dan gaat die niet in de zoeken functie werken.
Tenzij je de zoeken-code inlaad in de index pagina?
Dan zal die action zoeken.php wel werken.
Hoe kan ik hem dan goed inladen?
Kan je me even wat meer info geven over wat je juist wilt doen? Misschien ook hoe jij het juist zou willen doen?