image submit δεν δουλευει στο ie

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

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

Απάντηση
kingbill
Δημοσιεύσεις: 244
Εγγραφή: 19 Νοέμ 2005 15:06

image submit δεν δουλευει στο ie

Δημοσίευση από kingbill » 23 Μαρ 2008 20:23

ενω δουλευει στον FF δεν δουλευει στον IE οταν βαζω την onload=fixPNG(this) το
image submit

την fixPNG(this) την χρησιμοπιω για το transparent στον ie

μπορειτε να μου πειτε καμια λυση για αυτο το πραγμα

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


<?php
include&#40;'connect.php'&#41;;

	if&#40;isset&#40;$_POST&#91;'ok'&#93;&#41;&#41;
	&#123;
		$Fname=$_POST&#91;'first'&#93;;
		$Lname=$_POST&#91;'last'&#93;;

		mysql_query&#40;"UPDATE user  SET first = '$Fname', last='$Lname' where id='2'"&#41;; 				
	&#125;
								
   ?>


<form name="myform" method="post" action="">

<table style="width&#58; 466px">
	<tr>
		<td class="textstyle" style="width&#58; 181px"><label for="first"><strong>First&#58;</strong></label></td> 
		<td class="input"><input type="text" name="first" id="first"  value="<?php echo mysql_result &#40;mysql_query&#40;'select first from customers'&#41;,0,'first'&#41;?>">			
	</tr>	
	<tr>
		<td class="textstyle" style="width&#58; 181px"><label for="lastname"><strong>Last Name&#58;</strong></label></td> 
		<td class="input"><input type="text" name="last" id="last" value="<?php echo mysql_result &#40;mysql_query&#40;'select last from customers'&#41;,0,'last'&#41;?>">
	</tr>							
	<tr>	
		<td valign="top" align="right">
		<input type="image" name="ok" id="ok" src="images/ok.png" alt="" value="ok" style="height&#58; 53px; width&#58; 159px;" border="0" onload="fixPNG&#40;this&#41;"></a>
	</td>
	</tr>
</table>
</form>


Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

image submit δεν δουλευει στο ie

Δημοσίευση από cpulse » 24 Μαρ 2008 01:03

Για προσπάθησε να ξαναγράψεις το if έτσι

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

if&#40;isset&#40;$_POST&#91;'ok'&#93;&#41; || isset&#40;$_POST&#91;'ok_x'&#93;&#41;&#41; 

kingbill
Δημοσιεύσεις: 244
Εγγραφή: 19 Νοέμ 2005 15:06

image submit δεν δουλευει στο ie

Δημοσίευση από kingbill » 24 Μαρ 2008 23:49

παλι δεν δουλευει
υπαρχει κανενας αλλος τροπος να παρω τις τιμες απο τα textbox

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

image submit δεν δουλευει στο ie

Δημοσίευση από cherouvim » 25 Μαρ 2008 09:35

Το type="image" name="foo" button θα στείλει request parameters με keys "foo.x" και "foo.y".

Μάθε να χρησιμοποιείς κάποιο firefox plugin σαν το live http headers για να παρακολουθείς τι γίνεται. Επίσης μπορείς στην php να κάνεις print_r($_POST) για να κάνεις το ίδιο πράγμα.

Τέλος, μην χρησιμοποιείς type="image". Μπορείς να το κάνεις με type="submit" και με css να του δώσεις την εμφάνιση που θες.

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

image submit δεν δουλευει στο ie

Δημοσίευση από skeftomilos » 25 Μαρ 2008 11:18

type="submit" σε συνδυασμό με value=""; Θα δουλέψει όμως αν λείπει υποστήριξη για CSS/images; Το type="image" έχει το πλεονέκτημα του alt attribute.

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

image submit δεν δουλευει στο ie

Δημοσίευση από cpulse » 25 Μαρ 2008 15:53

Μια εναλλακτική είναι να βάλεις το if να ρωτάει για την ύπαρξη των text controls.

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

if&#40;isset&#40;$_POST&#91;'first'&#93;&#41;&#41;
Και με αυτό τον τρόπο θα λειτουργήσει σωστά και στην περίπτωση που ο χρήστης πατήσει enter και όχι το κουμπί.

Εγώ πάντα βάζω ένα hidden field και στα if ψάχνω αυτό το field. Είναι και ένας τρόπος τυποποίησης για να μην χρειάζεται κάθε φορά να ψάχνω τι text fields υπάρχουν στην κάθε φόρμα.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

image submit δεν δουλευει στο ie

Δημοσίευση από cherouvim » 25 Μαρ 2008 17:54

Το type="image" το βρίσκω λάθος δεδομένου οτι θέλουμε να διαχωρίζουμε περιεχόμενο από παρουσίαση. Αυτό το src="../images/foo.png" που θα βάλεις μέσα στο html μας τα χαλάει σε αυτή τη περίπτωση.

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

image submit δεν δουλευει στο ie

Δημοσίευση από skeftomilos » 25 Μαρ 2008 19:36

@cpulse: Τι γνώμη έχεις για αυτή την υλοποίηση;

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

<form method="post" action="handler.php">
  <input type="hidden" name="action" value="update">
  <input type="submit" value="Update">
  <input type="button" value="Move" onclick="this.form.elements&#91;'action'&#93;.value='move';this.form.submit&#40;&#41;">
  <input type="button" value="Delete" onclick="this.form.elements&#91;'action'&#93;.value='delete';this.form.submit&#40;&#41;">
</form>
(Server-side εκτελείται διαφορετική ενέργεια ανάλογα με την τιμή του πεδίου action)

@cherouvim: Στην περίπτωση ενός κουμπιού φόρμας νομίζω ότι δεν έχουμε να κάνουμε με ένα διακοσμητικό στοιχείο για να του δώσουμε απλά ένα background-image. Το κουμπί αυτό υποδεικνύει την ενέργεια θα εκτελεστεί με το πάτημά του (Search, Register, Buy κ.λπ.). Θα μπορούσες να θεωρήσεις ότι το type="image" είναι μια εναλλακτική σύνταξη του παρακάτω ψευδοκώδικα:

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

<input type="submit"><img src="search.png" alt="Search"></input>

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

image submit δεν δουλευει στο ie

Δημοσίευση από cherouvim » 25 Μαρ 2008 21:13

Το src="search.png" με χαλάει πολύ γιατί δεν μπορώ να έχω 100% CSS skins στην εφαρμογή, όπως επίσης και εύκολο i18n.

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

image submit δεν δουλευει στο ie

Δημοσίευση από skeftomilos » 25 Μαρ 2008 21:47

Αν το text του κουμπιού είναι στο value τότε όλα είναι εντάξει από όλες τις απόψεις. Όμως color:transparent δεν παίζει, οπότε τι κάνουμε, θυσιάζουμε την accessibility λόγω τεχνικής δυσκολίας;

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

image submit δεν δουλευει στο ie

Δημοσίευση από cherouvim » 25 Μαρ 2008 21:55

Προτεραιότητα 1 για μένα είναι διαχωρισμός εμφάνισης και περιεχομένου.
Το css on, images off είναι γενικά προβληματικό σε αυτές τις image replacement τεχνικές, αλλά είναι αρκετά σπάνιο για να με απασχολεί. Επιπλέον δεν βάζο ποτέ image πάνω στο button, παρά μόνο στο background του.

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

image submit δεν δουλευει στο ie

Δημοσίευση από skeftomilos » 25 Μαρ 2008 23:04

Κάπως έτσι δηλαδή:

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

<input type="submit" value="Vote" style="text-indent&#58;-1000px;background-image&#58;url&#40;vote.png&#41;">
Content-presentation separation -> coding-hacking combination! :-P

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

image submit δεν δουλευει στο ie

Δημοσίευση από Basilakis » 25 Μαρ 2008 23:44

eseis paidia grapsate istoria se afto to post :D

Mporw na pw pws molis katalava analitika oli tin logiki, kai oxi na doulevw "empirika"

cheers ppl :)

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

image submit δεν δουλευει στο ie

Δημοσίευση από cpulse » 26 Μαρ 2008 15:34

Πραγματικά ενδιαφέροντα αυτά με τα image buttons!

---
skeftomilos έγραψε:@cpulse: Τι γνώμη έχεις για αυτή την υλοποίηση;

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

<form method="post" action="handler.php">
  <input type="hidden" name="action" value="update">
  <input type="submit" value="Update">
  <input type="button" value="Move" onclick="this.form.elements&#91;'action'&#93;.value='move';this.form.submit&#40;&#41;">
  <input type="button" value="Delete" onclick="this.form.elements&#91;'action'&#93;.value='delete';this.form.submit&#40;&#41;">
</form>
Προσωπικά δεν θα το προτιμούσα με τα javascript, ειδικά αν επρόκειτο για κάποια εφαρμογή για ecommerce. Ειδικά στα ecommerce κάνω τα πάντα να λειτουργούνε χωρίς javascript γιατί εκεί οποιαδήποτε αδυναμία δεν συγχωρείται.

Γενικά χρησιμοποιώ ένα hidden field και μάλιστα μέσα του βάζω ένα time stamp με την microtime() της PHP που βγάζει και msecs. Οι λόγοι είναι δύο.

- Μπορώ να έχω σωστή πληροφόρηση για το αν υπάρχει φόρμα με το isset($_POST['hidden_field']) ακόμα κι όταν πατηθεί Enter αντί mouse click σε κάποιο submit button. Πρόσφατα βρήκα και έναν ακόμα τρόπο να το καταφέρνω αυτό χωρίς hidden fields με !empty($_POST) . Αλλά στην περίπτωση που υπάρχουν δύο φόρμες στην ίδια σελίδα είναι ποιο βολικός ο τρόπος με το hidden field, άρα παραμένω σε εκείνο.

- Το time stamp το χρησιμοποιώ από ένα κεντρικό include file για να καταλαβαίνω αν έγινε refresh.

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

$page_hash = md5&#40;$_SERVER&#91;'PHP_SELF'&#93; . var_export&#40;$_GET, true&#41; . var_export&#40;$_POST, true&#41;&#41;;
$page_refreshed = $page_hash == @$_SESSION&#91;'lastPageHash'&#93;;
$_SESSION&#91;'lastPageHash'&#93; = $page_hash;
Οπότε ο κώδικας μου τις περισσότερες φορές μοιάζει κάπως έτσι (σε απλουστευμένη μορφή):

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

if &#40;isset&#40;$_POST&#91;'hidden_field'&#93;&#41; && !$page_refreshed&#41; &#123;
  if &#40;isset&#40;$_POST&#91;'btnMove'&#93;&#41;&#41; &#123;
    // kane move
  &#125;
  else if &#40;isset&#40;$_POST&#91;'btnDelete'&#93;&#41;&#41; &#123;
    // kane delete
  &#125;
  else &#123;
    // kane update
  &#125;
&#125;

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

image submit δεν δουλευει στο ie

Δημοσίευση από skeftomilos » 26 Μαρ 2008 15:53

Σωστή προσέγγιση. Ο κώδικας που έδωσα έχει ένα σοβαρό ελάττωμα. Αν ο χρήστης κάνει Delete, μετά επιστρέψει με Back και πατήσει Update, θα ξαναγίνει Delete! Την έχω πατήσει μια φορά με αυτό το οδυνηρό bug. :(

Απάντηση

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

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

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