Προς το περιεχόμενο

html form


Προτεινόμενες αναρτήσεις

Δημοσ.
καλησπέρα θα ήθελα να κάνω μια ερώτηση για html form.
Έχω την παρακάτω φόρμα και θα ήθελα να ρωτήσω πως μπορώ σε αυτό το πλαίσιό που βρίσκεται η φόρμα αυτή 
μόλις ο χρήστης πατήσει submit και εφόσον είναι σωστό το validation της φόρμας να εμφανιστεί ένα μήνυμα σαν αυτό 
<p>your request is complete</p>
και με το refresh της σελίδας να επανέρχεται η φόρμα.Έχω βρει πολλά παραδείγματα αλλά όλα σχεδόν είναι με PHP ή αλλαγή με σελίδας action="other.html"
εγώ θέλω να μην αλλάζω σελίδα αν γίνετε.
χρησιμοποιώ django να πάρω το request,αλλά αυτή η φόρμα είναι απλή html 

<form action="" method="POST">
<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
  <input class="btn btn-primary btn-lg btn-block" type="submit">
</form>

 

Δημοσ. (επεξεργασμένο)


 

<!doctype html>
<html lang="el">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">	
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
		<script>		
			$(document).ready(function(){	
				$("#myForm>input[type=submit]").click(
					function(){
						var form = $(this).parent(); 
						$.post(form.attr("action"), form.serialize(), function(res){
							$("#feedBack").html(res);
						}, "html");
						return false;
					}				
				)
			});
		</script>
	</head>
	<body>
		<p id="feedBack"></p>
		<form id="myForm" action="whatever.php">
			<select>
				<option value="volvo">Volvo</option>
				<option value="saab">Saab</option>
				<option value="mercedes">Mercedes</option>
				<option value="audi">Audi</option>
			</select>
			<input class="btn btn-primary btn-lg btn-block" type="submit">
		</form>	
	</body>
</html>

 

Επεξ/σία από ajaxmonkey4hire
Δημοσ.

Η απάντηση του ajaxmonkey4hire είναι με jquery και όχι με php! Ορίστε και με απλή javascript:

<form id="myForm" method="POST" onsubmit="mySubmit(event);">
  <select name="mySelection">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
  </select>
  <input class="btn btn-primary btn-lg btn-block" type="submit">
</form>

<p id="message"></p>

<script>
  function mySubmit(e) {
    var formData = new FormData(document.getElementById("myForm"));
    
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
      if (this.readyState == 4 && this.status == 200) {
        if(this.responseText == "something"){
          document.getElementById("message").innerHTML = "something";
        }
      }
    };
    
    xhttp.open("POST", "path/to/service", true);
    xhttp.send(formData);
    
    e.preventDefault();
  }
</script>

 

Δημοσ.

Έχεις γράψει view; Στο select πρέπει να δώσεις και ένα   name.

Όταν κάνεις refresh  τη σελίδα δεν υπάρχει post Το request είναι GET. Οπότε με ένα 

if request.POST:  είσαι οκ

Δημοσ.
Στις 25/02/2018 στις 6:19 ΜΜ, k33theod είπε

Όταν κάνεις refresh  τη σελίδα δεν υπάρχει post Το request είναι GET. Οπότε με ένα 

if request.POST:  είσαι οκ

nope. Το refresh επαναλαμβάνει το last action, αν ήταν post, θα παραμείνει post. Γι'αυτό είχε κυκλοφορήσει και το PRG pattern

  • Like 1
Δημοσ.
19 λεπτά πριν, alou είπε

nope. Το refresh επαναλαμβάνει το last action, αν ήταν post, θα παραμείνει post. Γι'αυτό είχε κυκλοφορήσει και το PRG pattern

Για αυτό σου έδωσα τον κωδικό για Ajax post μέσω jquery.

Δημοσ.

ΚΑΛΗΜΕΡΑ

 

σας ευχαριστώ όλους για το ενδιαφέρων ο κώδικας του @TheDarkKnight δεν δουλεύει σε μένα μετά το submit δεν κάνει τπτ , ενώ ο κώδικας του ajaxmonkey4hire με πηγαίνει σε μια νέα σελίδα whatever.php που προφανώς δεν υπάρχει.

 

ναι έχω γράψει if request.POST: και με το refresh γίνετε δουλειά όντως.

 

μάλλον θα πρέπει να πάω σε django επιλογή

Δημοσ.

Το αυτονόητο: 

Στην θέση του whatever.php  θα βάλεις εσύ την δικιά σου διεύθυνση. Αυτήν στην οποία θέλεις να πάνε τα στοιχεία.

 

Δημοσ.
6 ώρες πριν, chr2017 είπε

ΚΑΛΗΜΕΡΑ

σας ευχαριστώ όλους για το ενδιαφέρων ο κώδικας του @TheDarkKnight δεν δουλεύει σε μένα μετά το submit δεν κάνει τπτ , ενώ ο κώδικας του ajaxmonkey4hire με πηγαίνει σε μια νέα σελίδα whatever.php που προφανώς δεν υπάρχει.

ναι έχω γράψει if request.POST: και με το refresh γίνετε δουλειά όντως.

μάλλον θα πρέπει να πάω σε django επιλογή

Προφανώς και δεν έκανες καμία τροποποίηση στις απαντήσεις που σου δώσαμε.

Δημοσ. (επεξεργασμένο)
7 ώρες πριν, chr2017 είπε

τπτ , ενώ ο κώδικας του ajaxmonkey4hire με πηγαίνει σε μια νέα σελίδα whatever.php που προφανώς δεν υπάρχει.

Για να αρχίσουμε με τα βασικά., έχεις φτιάξει κάποιο PHP mailer script το οποίο θα λαμβάνει τα δεδομένα της φόρμας ή απλά κάνεις copy/paste κώδικες και περιμένεις ως δια μαγείας να κουμπώσουν όλα ρολόι;

Επεξ/σία από The King
Δημοσ.

Χωρίς ειρωνεία: σκέψου για αλλαγή καριέρας.

Το Django είναι webframework και για να το χρησιμοποιήσεις πρέπει φυσικά να γνωρίζεις τα βασικά περί HTML, Javascript, Jquery, HTTP methods POST, PUT, GET, DELETE. Όταν δεν καταλαβαίνεις ότι το περιεχόμενο μιας form δεν πρόκειται να πάει εκεί που το θέλεις χωρίς να δώσεις την σωστή URL τότε έχεις σοβαρό πρόβλημα.

  • Like 1
Δημοσ.

@ajaxmonkey4hire χωρίς ειρωνεία αλλά μάθε πρώτα να διαβάζεις (δες τι ζητάω) και μετά μπορείς να ειρωνευτής όσο θέλεις (βασικά ποιος σου είπε ότι κάνω καριέρα ?) . προφανώς και δεν είμαι μάστερ αν ήμουν δεν θα ζητούσα βοήθεια εδώ.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...