Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από dimos_mitel » 07 Ιουν 2012 23:36

Τώρα μου έβγαλε πρώτη φορά κάποιο παράθυρο, αλλά μου εμφανίζει πάλι τον κώδικα της σελίδας μου μέσα στο παράθυρο του alert μόλις πατήσω το add αντί να κάνει προσθήκη.
miteletsis

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από Christianago » 07 Ιουν 2012 23:37

Αυτο που ρωταω ειναι αν το alert εμφανιζεται γενικως?

EDIT: Τωρα ειδα το μηνυμα σου, οκ αυτο προσπαθουσα να σου δειξω γιατι απο εκει ξεκινανε ολα.
Τωρα αυτο που θελεις ξεφευγει απο τον τιτλο του θεματος.
Λοιπον θες οταν κλικαρεται το add (μονο αυτο βλεπω) να γινονται εισαγωγη στη ΒΔ
τα δεδομενα που εχεις ηδη ετοιμασει στην php?

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από dimos_mitel » 07 Ιουν 2012 23:42

Το alert εμφανίζεται μόνο όταν κάνω κλικ στο add και μου εμφανίζει πάλι τον κώδικα της σελίδας μου αλλά στο δικό του παράθυρο. δεν πραγματοποιείται πρόσθεση των δεδομένων. κατά τα άλλα δεν εμφανίζεται σε καμιά άλλη περίπτωση.
miteletsis

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από dimos_mitel » 07 Ιουν 2012 23:44

γράφω τα δεδομένα μου, πατάω το add να προστεθούνε στην βάση. Η προσθήκη γίνεται είδη σωστά αλλά εγώ θέλω να μην γίνεται ανανέωση της σελίδας όταν πατάω το add. Να γίνεται η προσθήκη όπως και πριν χωρίς την ανανέωση ολόκληρης της σελίδας. το ίδιο πράγμα βέβαια θέλω και για την περίπτωση των κουμπιών update και delete αλλά θα το προσαρμόσω μετά αν μια φορά γίνει για το add.
miteletsis

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από Christianago » 07 Ιουν 2012 23:47

Ναι ετσι ακριβως εφτιαξα το κουμπι add, χωρις να κανει κατι, απλα για να δω οτι γινεται κληση ajax. Βγαλτο δε χρειαζεται.
Πρωτα απο ολα διαφοροποιησε html/javascript με php, βαλτα σε διαφορετικα αρχεια οπως προβλεπεται για να μη ψαχνομαστε.

Αλλαξε σε php:

Κώδικας: Επιλογή όλων

//if ($_POST['x']=="update") {
$UpdateQuery = "UPDATE stoixeia_paiktwn SET ar_deltiou='$_POST[ar_deltiou]', onoma='$_POST[onoma]', epwnimo='$_POST[epwnimo]', ar_fanelas='$_POST[ar_fanelas]', imer_gennisis='$_POST[imer_gennisis]'  WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($UpdateQuery, $con);
}
else if($_POST['x'] == 'delete'){
$DeleteQuery = "DELETE FROM stoixeia_paiktwn WHERE ar_deltiou='$_POST[hidden]'";
mysql_query($DeleteQuery, $con);
}
else if($_POST['add']){
$AddQuery = "INSERT INTO stoixeia_paiktwn (ar_deltiou, onoma, epwnimo, ar_fanelas, imer_gennisis) VALUES ('$_POST[uar_deltiou]','$_POST[uonoma]','$_POST[uepwnimo]', '$_POST[uar_fanelas]', '$_POST[uimer_gennisis]')";
mysql_query($AddQuery, $con);
}

//}
Αλλαξε σε js:

Κώδικας: Επιλογή όλων

data: "add=1",

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από dimos_mitel » 07 Ιουν 2012 23:54

εννοείς αυτό το κομμάτι

success: function(data) {
alert(data);

να το κάνω έτσι?

success: function(add=1) {
alert(add=1);

Επειδή μου το βγάζει λάθος έτσι
miteletsis

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από Christianago » 07 Ιουν 2012 23:59

Κώδικας: Επιλογή όλων

data: $(this).serialize(), 

==>

Κώδικας: Επιλογή όλων

data: "add=1",

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από dimos_mitel » 08 Ιουν 2012 00:05

το έκανα έτσι αλλά τπτ, άλλξα και το php, τώρα απλά ανανεώνετε η σελίδα χωρίς να γίνει η προσθήκη:

$(document).ready(function() {
$('#buttonAdd').click( function () { addphp(); });
});

function addphp (){
$.ajax({
type: 'POST',
url: "http://localhost/fillo_agwna/superuser_panel.php",
data: "add=1",
success: function(data) {
alert(data);
}
});
}
miteletsis

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από Christianago » 08 Ιουν 2012 00:13

Σε μενα δεν ανανεωνεται η σελιδα εδω και πολλα posts, νομιζα οτι το ειχαμε λυσει αυτο.
Δεν ξερω τι αλλο να κανω εχω βαρεθει να το τρεχω το script σε μενα κανει καθε φορα αυτο που πρεπει.
Δηλ. γινεται κληση χωρις ανανεωση σελιδας, προσθηκη δεν κανει καπου γιατι δεν εχω τη ΒΔ σου,
αλλα ο κωδικας σου φαινεται σωστος. Με την προυποθεση βεβαια οτι συμπληρωνεις τα αντιστοιχα κουτακια γινεται προσθηκη.

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από dimos_mitel » 08 Ιουν 2012 00:20

ουφ.. σε εμένα δεν ξέρω γιατί γίνεται ανανέωση.. Δεν θέλω να σε κουράσω άλλο. Απλά πες μου το add γιατί το έχεις add=1;
miteletsis

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από Christianago » 08 Ιουν 2012 00:26

Λογω αυτης της προτασης: else if($_POST['add']){
Εκτελειται η παραπανω προταση εφοσον η παραμετρος add δεν ειναι κενη.
Αναλογα με το τι κουμπι πατας μπορεις να εκτελεις την ιδια συναρτηση και δεχομενη η συναρτηση που κανει την κληση ενα ορισμα
πχ. το id του κουμπιου να μεταβαλλει την επιλογη: data για να εκτελει μετα διαφορετικη προταση στην php.

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από dimos_mitel » 08 Ιουν 2012 00:30

Πάντως το type αν το έχω button μου εμφανίζει πάλι τον κώδικα μου στο παράθυρο του alert. Δεν θέλω να σε κουράσω άλλο. Σε χιλιοευχαριστώ. Θα το ψάξω περισσότερο και αν καταφέρω κάτι παραπάνω θα ενημερώσω. Ευχαριστώ και πάλι για τον χρόνο σου και τη βοήθεια. καληνύχτα ;)
miteletsis

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από Christianago » 08 Ιουν 2012 00:36

Πάντως το type αν το έχω button μου εμφανίζει πάλι τον κώδικα μου στο παράθυρο του alert.
Πρεπει να ειναι τυπου οτιδηποτε αλλο εκτος απο submit.
Με submit γινεται ανανεωση.

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από dimos_mitel » 08 Ιουν 2012 00:42

αλλά χωρίς submit δεν παίρνει η if το value ώστε να πραγματοποιηθεί η προσθήκη..
miteletsis

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Post φόρμας χωρίς να γίνεται ανανέωση σελίδας

Δημοσίευση από Christianago » 08 Ιουν 2012 00:43

Λοιπον ημουν αφηρημενος πριν ο κωδικας σου δεν ειναι σωστος εφοσον κανεις κληση ajax...
Πρεπει να αλλαξεις την προταση σου ετσι ωστε να δεχεται τα δεδομενα απο την javascript

Κώδικας: Επιλογή όλων

$AddQuery = "INSERT INTO stoixeia_paiktwn (ar_deltiou, onoma, epwnimo, ar_fanelas, imer_gennisis) VALUES ('$_POST[uar_deltiou]','$_POST[uonoma]','$_POST[uepwnimo]', '$_POST[uar_fanelas]', '$_POST[uimer_gennisis]')";
mysql_query($AddQuery, $con); 

Κώδικας: Επιλογή όλων

function addphp (){
$.ajax({
type: 'POST',
url: "http://localhost/fillo_agwna/superuser_panel.php",
data: "add=1" + "&uar_deltiou=100",
success: function(data) {
alert(data);
}
});
}
και αλλαξε τα $_POST σου οπως το παραδειγμα (προσεξε τον τυπο των δεδομενων που δεχεται καθε στηλη, το encoding και με την ιδια λογικη δωσε και τις υπολοιπες παραμετρους - για την ωρα δε χρειαζεται να βαλεις δεδομενα στα κουτακια απλα φτιαξτα απο την jquery):

Κώδικας: Επιλογή όλων

$uar_deltiou = $_POST['uar_deltiou'];
Μετα κανε την εισαγωγη των μεταβλητων που θα φτιαξεις.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες