formulier met links zonder javascript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Wouter J

Wouter J

25/06/2011 23:20:01
Quote Anchor link
Hier dan wat ik had beloofd. De JavaScript:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var someSettings = document.someSettings, // Pak een element met de name someSetting (in ons geval een form)
    anchors = someSettings.getElementsByTagName('a'), // Pak alle anchor tags in dit form
    propVal = someSettings.propVal; // Pak een element met de name propVal die een child is van ons form
// I.p.v. de hele tijd var te typen gebruik ik hier een ,

for(i=0; i  < anchors.length; i++) {
    // Voor elke anchor in someSettings
    anchors[i].onclick = function() { // Click event
        propVal.value = this.innerHTML; // This is de link waarop geklikt wordt
      
        someSettings.submit(); // Submit het formulier
        return false; // Zodat de href niet werkt
    };
}

En de HTML die hierbij hoort:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<form name="someSettings">
    <a href="#maakt_niet_uit_wat_hier_staat">Link 1</a>
    <a href="http://www.phphulp.nl/">Link 2</a>
    <a href="http://www.php.net/">Link 3</a>
    <input type="hidden" name="propVal">
</form>
 
PHP hulp

PHP hulp

26/12/2024 13:56:04
 
Ozzie PHP

Ozzie PHP

25/06/2011 23:32:55
Quote Anchor link
Wow... impressive :)
Als ik het goed begrijp hoef ik nu dus geen functie op de links zelf te zetten he? Alleen een .js bestandje met deze code aanroepen in de head neem ik aan?

Mooi gemaakt, dankjewel!
 

26/06/2011 00:06:04
Quote Anchor link
Wouter J op 25/06/2011 23:20:01:
Hier dan wat ik had beloofd. De JavaScript:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var someSettings = document.someSettings, // Pak een element met de name someSetting (in ons geval een form)
    anchors = someSettings.getElementsByTagName('a'), // Pak alle anchor tags in dit form
    propVal = someSettings.propVal; // Pak een element met de name propVal die een child is van ons form
// I.p.v. de hele tijd var te typen gebruik ik hier een ,

for(i=0; i  < anchors.length; i++) {
    // Voor elke anchor in someSettings
    anchors[i].onclick = function() { // Click event
        propVal.value = this.innerHTML; // This is de link waarop geklikt wordt
      
        someSettings.submit(); // Submit het formulier
        return false; // Zodat de href niet werkt
    };
}

En de HTML die hierbij hoort:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<form name="someSettings">
    <a href="#maakt_niet_uit_wat_hier_staat">Link 1</a>
    <a href="http://www.phphulp.nl/">Link 2</a>
    <a href="http://www.php.net/">Link 3</a>
    <input type="hidden" name="propVal">
</form>


Dit is vies, je kunt beter document.getElementById e.d. gebruiken.
 
Ozzie PHP

Ozzie PHP

26/06/2011 00:11:56
Quote Anchor link
Wat is er niet goed aan Karl? Hoe zou jij het dan doen?
 
The Force

The Force

26/06/2011 00:47:37
Quote Anchor link
Ozzie PHP op 26/06/2011 00:11:56:
(...) Hoe zou jij het dan doen?

"je kunt beter document.getElementById e.d. gebruiken."
 
Ozzie PHP

Ozzie PHP

26/06/2011 00:50:12
Quote Anchor link
ja dat heb ik gelezen... maar in plaats van wat?
 
Wouter J

Wouter J

26/06/2011 08:56:36
Quote Anchor link
@Ozzie, zodat je dit scriptje in je html plaats (voor keur vlak voor de </body>) en dan je hidden field propVal noemt en je form name=someSettings (tenzij je dit aanpast in je script) werkt het.

@Karl, bedoel je dat het formulier bij het krijgen met name beter via id kan of het krijgen van de anchors?
 
Ozzie PHP

Ozzie PHP

26/06/2011 09:35:31
Quote Anchor link
Oké dank je Wouter, en even afwachten dan op de reactie van Karl...
 

04/07/2011 09:12:03
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.