login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Vraag over 2 knoppen in webpagina.

Offline pascalbianca - 07/08/2016 18:53
Avatar van pascalbiancaNieuw lid Ik heb op google zitten zoeken , vind veel script erover maar niet wat ik wil.

Ik heb deze code in een form.:
  1. <!DOCTYPE HTML>
  2.  
  3. <html><head>Multi-button from with switch/case</head>
  4. <body>
  5.  
  6. <form action="processor.php" method="post">
  7. Enter a number: <input type="text" name="number_1" size="3"> <br>
  8. Enter another number: <input type="text" name="number_2" size="3"> <br>
  9. <input type="submit" name="calculate" value="add">
  10. <input type="submit" name="calculate" value="subtract">
  11. <input type="submit" name="calculate" value="multiply"> </form>
  12.  
  13. </body>
  14. </html>


en deze in processor.php

  1. <?php
  2.  
  3. // branch on the basis of 'calculate' value
  4. switch ($_POST['calculate']) {
  5. // if calculate => add
  6. case 'add':
  7. echo $_POST['number_1'] . " + " . $_POST['number_2'] . " = " . ($_POST['number_1']+$_POST['number_2']);
  8. break;
  9.  
  10. // if calculate => subtract
  11. case 'subtract':
  12. echo $_POST['number_1'] . " - " . $_POST['number_2'] . " = " . ($_POST['number_1']-$_POST['number_2']);
  13. break;
  14.  
  15. // if calculate => multiply
  16. case 'multiply':
  17. echo $_POST['number_1'] . " x " . $_POST['number_2'] . " = " . ($_POST['number_1']*$_POST['number_2']);
  18. break;
  19. }
  20.  
  21. ?>


Ik krijg dus het resultaat in een ander scherm te zien.
Ik wil dit in het zelfde scherm zien onder de knoppen als ik die indruk.
Kan dit ? zo ja hoe?

5 antwoorden

Gesponsorde links
Offline Thomas - 07/08/2016 22:10
Avatar van Thomas Moderator POST naar hetzelfde script of gebruik JavaScript / jQuery.
Offline pascalbianca - 08/08/2016 00:42
Avatar van pascalbianca Nieuw lid POST doet hij niet naar hetzelfde script of ik doe wat fout.
En hoe doe je dat via Javascript /JQuery?
Offline Jointjeff - 08/08/2016 16:46 (laatste wijziging 08/08/2016 16:47)
Avatar van Jointjeff HTML interesse In plaats van dat je dan je formulier submit naar processor.php, doe je dat naar de pagina waar het formulier op staat.

Vervolgens kun je dan gewoon de $_POST waarde daar uitlezen.

In het geval van jQuery(Javascript) kun je de Ajax-functie gebruiken om je formulier te verzenden.

Bijvoorbeeld:

  1. $(document).ready(function(e) {
  2.  
  3. $("#id_van_je_formulier").submit(function(e) {
  4.  
  5. e.preventDefault();
  6.  
  7. var form_data = $(this).serialize();
  8.  
  9. $.ajax({
  10. url: 'processor.php',
  11. type: 'POST',
  12. data: form_data,
  13. success: function(response){
  14. // in de div #result komt dan de HTML-response te staan van processor.php
  15. // #result moet je dus nog wel toevoegen aan je HTML-code.
  16. $("#result").html(response);
  17. }
  18. });
  19.  
  20. });
  21.  
  22. });


Zorg ervoor dat je jQuery inlaadt, anders zal bovenstaande niet werken.
Offline Thomas - 09/08/2016 12:04
Avatar van Thomas Moderator ^ What he said.

Je hoeft trouwens niet eens per se AJAX te gebruiken, je kunt ook rechtstreeks het formulier verwerken in JavaScript, daar de rekensom uitvoeren en vervolgens wat HTML afdrukken.
Offline finduilas - 09/08/2016 16:46
Avatar van finduilas PHP gevorderde Je geeft aan via <form action="processor.php" method="post"> dat je naar processor.php moet gaan.
Als je daar niets opgeeft gaat hij naar dezelfde pagina.

Via ($_SERVER['REQUEST_METHOD'] == 'POST') kun je dit opvangen, en dan in dat geval resultaten weergeven.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.246s