Δυο buttons με διαφορετικά actions σε μια form γίνεται?

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

Απάντηση
sibas
Honorary Member
Δημοσιεύσεις: 1856
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

Δυο buttons με διαφορετικά actions σε μια form γίνεται?

Δημοσίευση από sibas » 20 Ιούλ 2013 18:01

Γεια χαρά!

Μου παρουσιάστηκε ένα πρόβλημα και δεν γνωρίζω αν υπάρχει λύση ή τουλάχιστον εγώ δεν μπορώ να βρω λύση.

έχω 2 φόρμες, η μια στέλνει data, η άλλη ελέγχει ένα πεδίο αν είναι έγκυρο, και οι δύο λειτουργούν μια χαρά ως ανεξάρτητες μεταξύ τους.

πρέπει όμως να βρω ένα τρόπο να λειτουργήσουν σαν μια!!!

αυτό που θέλω να φτιάξω το έχω σκεφτεί σε αυτή την μορφή
<form>
<input name="1" />
<input name="2" />
<input name="3" />
...
<input name="4" /> <input type="submit" name="check if input 4 exist" />
<input type="submit" name="send all data" />
</form>
Με άλλα λόγια θέλω να ελέγχω αν η τιμή που θα βάλουν στο input4 υπάρχει στην db και να μου γυρνάει τα αποτελέσματα της προτού στείλουν όλα τα data.

Το πρόβλημα μου έχει ως εξής, η μια φόρμα που στέλνει τα data εμφανίζεται κάπως έτσι

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

if &#40;!isset&#40;$_POST&#91;'data'&#93;&#41;&#41; &#123;
<form>
<input name="1" /> 
<input name="2" />
<input name="3" />
</form>
&#125; else &#123;
echo 'data send or not';
&#125;
ή άλλη φόρμα είναι παραπλήσια και λειτουργεί με jquery για να παρουσιάζω αν το πεδίο υπάρχει και είναι valid

κάπως έτσι

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

function checkinput&#40;&#41;&#123;
if &#40;!isset&#40;$_POST&#91;'checkIfExist'&#93;&#41;&#41; &#123;
<input name="4" /> <input type="submit" name="check if input 4 exist" />
&#125; else &#123;
return $dataforjquery;
&#125;
&#125;
Αυτό που δεν μπορώ να λύσω είναι ότι προσθέτοντας το checkinput() δεν λειτουργεί γιατί μπερδεύεται με το if (!isset($_POST['data']))

δηλαδή αυτό που κάνω είναι

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

if &#40;!isset&#40;$_POST&#91;'data'&#93;&#41;&#41; &#123;
<form>
<input name="1" /> 
<input name="2" />
<input name="3" />
checkinput&#40;&#41;;
<input type="submit" name="send all data" />
</form>
&#125; else &#123;
echo 'data send or not';
&#125;
και φυσικά δεν υπάρχει καμία περίπτωση να λειτουργήσει με αυτό τον τρόπο!!! :hammer:

Έχει κανείς κάποια ιδέα?

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Δυο buttons με διαφορετικά actions σε μια form γίνεται?

Δημοσίευση από geomagas » 20 Ιούλ 2013 20:28

Πολλές μου έρχονται στο μυαλό, θα σου προτείνω δύο (και οι δύο αφορούν javascript):
1) αλλάζεις το "πράσινο" submit σε button και του βάζεις onclick=[έλεγχος input4 με ajax]
2) έχεις 2 submit αλλά με το δικό του name το καθένα. Στο onsubmit της φόρμας ελέγχεις από που "σου ήρθε" και πράττεις αναλόγως.
Προσωπικά, η (1) μου αρέσει καλύτερα.

edit: Υπάρχουν και λύσεις που αφορούν HTML5, πχ

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

<input type="submit" formaction="action2.php" value="Alternate Submit">

sibas
Honorary Member
Δημοσιεύσεις: 1856
Εγγραφή: 21 Φεβ 2003 01:21
Τοποθεσία: Μια εδώ.. Μια εκεί.. Σήμερα είμαι εδώ!!!
Επικοινωνία:

Δυο buttons με διαφορετικά actions σε μια form γίνεται?

Δημοσίευση από sibas » 21 Ιούλ 2013 11:21

Σωστός!! javascript did the trick :)

ξεκόλησα τhanks :D

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Δυο buttons με διαφορετικά actions σε μια form γίνεται?

Δημοσίευση από geomagas » 21 Ιούλ 2013 22:01

Χαίρομαι που βοήθησα. Keep it up!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

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

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