login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Veld onbruikbaar maken bij invullen andere (Opgelost)

Offline roelh - 06/08/2013 19:37
Avatar van roelhPHP gevorderde Hallo allemaal,

Sorry voor de rare titel, maar ik heb een vraag.
Ik heb een contact formulier met een X aantal velden.
Nu heb ik 2 velden, waarvan er maar 1 ingevuld mag worden. Dus als veld A ingevuld is, moet B niet ingevuld kunnen worden. Hetzelfde geldt voor B, wanneer A ingevuld wordt.
Hoe kan ik dit maken? Wie kan me helpen?

Groet,

6 antwoorden

Gesponsorde links
Offline Jointjeff - 06/08/2013 20:21 (laatste wijziging 07/08/2013 00:20)
Avatar van Jointjeff HTML interesse Je kan dan een if statement gebruiken. Zie hieronder:
  1. <?php
  2. $valid = '';
  3. if(isset($_POST['submit'])){
  4.  
  5. if($_POST['a'] == ''){
  6. if($_POST['b'] == ''){
  7. $valid = FALSE;
  8. } else {
  9. $valid = TRUE;
  10. }
  11. }
  12.  
  13. if($_POST['b'] == ''){
  14. if($_POST['a'] == ''){
  15. $valid = FALSE;
  16. } else {
  17. $valid = TRUE;
  18. }
  19. }
  20.  
  21. if($valid == FALSE){
  22. echo 'Er ging iets enorm fout!';
  23. }
  24.  
  25. }
  26. ?>
  27. <form action="#" method="post">
  28.  
  29. a: <input type="text" name="a"><br>
  30. b: <input type="text" name="b"><br>
  31. <input type="submit" value="stuur" name="submit">
  32.  
  33. </form>


Dit is misschien niet de beste manier, maar het werkt wel. Wellicht kun je hier op verder werken.

-- UPDATE --
Volgens mij heb ik in eerste instantie je vraag niet goed begrepen 

Dit kun je wellicht beter met javascript/jQuery doen.
Zie het voorbeeldje dat ik even heb gemaakt: http://jsfiddle.net/asxFt/
Offline roelh - 07/08/2013 18:08 (laatste wijziging 07/08/2013 18:17)
Avatar van roelh PHP gevorderde Thanks, ik gaat ermee aan de slag!

Edit:
Wat doet ik fout? Ik plak de code in een JS bestand en roep het aan op deze manier: <script src="fieldhide.js"></script>
Maar het voorbeeld bij jou doet het wel, maar bij mij niet..
Ik heb de waardes van de tekst bestanden ook aangepast naar a en b...
Offline Jointjeff - 07/08/2013 23:24
Avatar van Jointjeff HTML interesse Heb je jQuery wel in gebruik?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
Offline Rens - 08/08/2013 09:55 (laatste wijziging 08/08/2013 09:56)
Avatar van Rens Gouden medaille

Crew algemeen
Waarom zou je daar jQuery voor nodig hebben?
Maak een functie in javascript die controleerd of een veld wel of niet gevuld is.
Indien het veld een waarde heeft, schakel het andere veld uit.
Mocht het veld geen waarde hebben, allebei de velden inschakelen.

Waarom zou je een heel framework gebruiken voor iets waar je maar 4 regels code voor nodig hebt?
  1. <script language="javascript">
  2. function disableField(sFieldOne, sFieldTwo)
  3. {
  4. sValue = document.getElementById(sFieldOne).value;
  5. document.getElementById(sFieldTwo).disabled = ((sValue.length) > 0) ? true : false;
  6. }
  7. </script>
  8. <input type="text" name="veldEen" id="veldEen" onblur="javascript:disableField('veldEen', 'veldTwee');" />
  9. <input type="text" name="veldTwee" id="veldTwee" onblur="javascript:disableField('veldTwee', 'veldEen');" />
Offline Jointjeff - 08/08/2013 11:56
Avatar van Jointjeff HTML interesse @Rens: Je hebt helemaal gelijk. Ik werk zelf regelmatig met jQuery dus ik nijg nogal in jQuery-oplossingen te denken.
Offline Rens - 08/08/2013 12:48
Avatar van Rens Gouden medaille

Crew algemeen
Jointjeff schreef:
@Rens: Je hebt helemaal gelijk. Ik werk zelf regelmatig met jQuery dus ik nijg nogal in jQuery-oplossingen te denken.

Dit is ook zeker niet verkeerd.
Maar om voor een 2 regels (ok, 4 in totaal) een compleet framework voor de dag te toveren vind ik best wel doelloos...
Je gaat er een hoop code bij halen terwijl dit onnodig is.
Gebruik je veel van deze dingen, dan is het natuurlijk niet verkeerd om er een framework als jQuery bij te halen.

Vergelijk het een beetje met een SQL class in PHP.
Gebruik je heel veel queries is het natuurlijk nooit mis om een class te gebruiken.
Mochten de queries op een andere manier uitgevoerd moeten worden (i.v.m. een error afhandeling) hoef je maar 1 functie aan te passen.
Gebruik je echter maar 1 (of enkele) SQL commando's is het natuurlijk een beetje overkill om daar een class voor te gebruiken.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s