2016-07-18 4 views
1

Ich versuche auf dem Bildschirm zu wiederholen, was ein Benutzer aus einem Dropdown-Menü auswählt. Wann immer der Benutzer eine Nummer auswählt, aktualisiert er den darunter liegenden Text, um anzuzeigen, was er ausgewählt hat. Hier ist mein Code unten:Wie kann ich die Dropdown-Auswahl des Benutzers ausgleichen?

<html> 
<head> 
</head> 
<body> 
<label for="numbers"></label> 
<form action="drop.php"> 
    <select name="numbers"> 
    <option value="0">select number</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
    </select> 
    <br><br> 
    <input type="submit"> 
</form> 

<?php 

if(isset($_POST['numbers'])) 
{ 
    $numbers = $_POST['numbers']; 
    $error = "?"; 
    echo "<p>" . $numbers . "</p>"; 
} 
?> 
</body> 
</html> 

AKTUALISIERT MAIN CODE

+1

Dies wäre besser für Javascript geeignet. Sie vermissen derzeit ein '' Tags und Sie brauchen keine Absenden-Taste, aber wenn Sie Javascript' onchange' hinzufügen möchten, um Ihr Formular zu senden, sollten Sie eins hinzufügen. – cmorrissey

+0

Cool, danke für die Info. Ich behalte den JS im Hinterkopf, aber ich behalte PHP dafür, ich habe ein Formular hinzugefügt, das action = "file.php" hat, und ich habe den Absenden-Button nach dem aber innerhalb des Formulars eingefügt. Es scheint immer noch nicht zu funktionieren. Aktualisierter Code ist im Hauptteil, danke! – Egrodo

Antwort

1

Ich schlage vor, das Lesen Dealing with Forms Tutorial PHP und auch die change event erforschen.

Für Ihr Codebeispiel habe ich ein form element zusammen mit einem "onchange" -Attribut zum select-Element hinzugefügt, das das Formular automatisch abschickt, wenn eine Zahl ausgewählt wird.

<html> 
<head> 
</head> 
<body> 
<form action="<?php echo basename(__FILE__); ?>" method="post"> 
<label for="numbers">Numbers:</label> 
<select name="numbers" onchange="document.forms[0].submit();"> 
    <option value="0">select number</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
</select> 
<input type="submit"> 
</form> 

<?php 

if (array_key_exists('numbers', $_POST)) { 
    $numbers = $_POST['numbers']; 
    echo '<p>' . $numbers . '</p>'; 
} 
?> 

</body> 
</html> 
+0

Dies ist genau das, was ich brauchte, danke für die Informationen und für die Links. Ich werde auf jeden Fall die durchlesen und anfangen, das herauszufinden. habe einen schönen Tag – Egrodo

2

Versuchen Sie Methode = "Post" auf Formulardeklaration. oder verwenden Sie $ _GET statt $ _POST ON drop.php

if (isset ($ _ POST [ 'Zahlen']))

1

Add method = "post" in das Formular

<form action="drop.php" method="post"> 
+0

Danke, habe das nicht realisiert! – Egrodo

Verwandte Themen