Toon posts:

[html/php] Plaatje als knop werkt niet?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een werkende php site die html genereerd, maar ik wilde van enkele knoppen plaatjes maken, maar dan werkt hij ineens niet meer... Ik snap er echt helemaal niets meer van omdat dit volgens de tutorials gewoon moet werken.

Wel werkende code:
code:
1
2
3
4
5
6
7
8
9
10
<form method='post'><table border="1" width="100%"><tr><?php

if (mysql_num_rows($qry) > 0) {
    for ($i = 0; $i<mysql_num_fields($qry); $i++)
    {
        $temp = mysql_field_name($qry, $i);
        echo "<td align=center>". mysql_field_name($qry, $i) . " <strong><INPUT TYPE='submit' NAME='test' VALUE='$temp'></td>";
    }
}
?></tr></form>


Niet werkende code:
code:
1
2
3
4
5
6
7
8
9
10
<form method='post'><table border="1" width="100%"><tr><?php

if (mysql_num_rows($qry) > 0) {
    for ($i = 0; $i<mysql_num_fields($qry); $i++)
    {
        $temp = mysql_field_name($qry, $i);
        echo "<td align=center>". mysql_field_name($qry, $i) . " <strong><INPUT TYPE='image' SRC='up.gif' NAME='test' ALT='test' VALUE='$temp'></td>";
    }
}
?></tr></form>


Code die er iets mee doet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (isset($_POST['test']))
{
    if($_POST['test'] == "Datum")
    {
        $qry = mysql_query("SELECT * FROM $machine WHERE Datum BETWEEN '$Bdatum' AND '$Edatum' GROUP BY Datum,Tijd ORDER BY Datum", $link);
    }
    if($_POST['test'] == "Tijd")
    {
        $qry = mysql_query("SELECT * FROM $machine WHERE Datum BETWEEN '$Bdatum' AND '$Edatum' GROUP BY Datum, Tijd ORDER BY Tijd", $link);
    }
    if($_POST['test'] == "Code")
    {
        $qry = mysql_query("SELECT * FROM $machine WHERE Datum BETWEEN '$Bdatum' AND '$Edatum' GROUP BY Datum, Tijd ORDER BY Code", $link);
    }
}
else
{


In mijn ogen is er niets veranderd omdat je nog steeds een post doet alleen nu ipv van een knop een plaatje gebruikt...

  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

een input element heeft geen src attribuut (het is immers geen img). Je zult moeten werken met backgroundimages in combinatie met input elementen.

Kijk daarvoor bijvoorbeeld hier: http://www.picment.com/articles/css/funwithforms/

[ Voor 23% gewijzigd door Sappie op 22-06-2005 11:27 ]

Specs | Audioscrobbler


Verwijderd

Topicstarter
Ik had dat van handleidinghtml af: klik

  • ecageman
  • Registratie: September 2001
  • Laatst online: 16-03 20:55
Sappie schreef op woensdag 22 juni 2005 @ 11:26:
een input element heeft geen src attribuut (het is immers geen img). Je zult moeten werken met backgroundimages in combinatie met input elementen.

Kijk daarvoor bijvoorbeeld hier: http://www.picment.com/articles/css/funwithforms/
Hoe kom je daar nu bij? In de html specs staat gewoon dat het SRC attribuute geldig is in combinatie met het type image.

AMD Athlon 2800+, MSI K7N2Delta-L, 1024MB PC3200, SB Audigy2, XFX GF4MX440, BenQ DVD+-RW, NEC 1300A DVD+-RW, 2x WD 120GB 8mb, 2x Maxtor 250GB, Chenbro Gaming Bomb, Tagan 480W, 17" Iiyama monitor


  • Willem
  • Registratie: Februari 2001
  • Laatst online: 16:27
Wat Sappie zegt.
Je had overigens beter de maker van de tutorials kunnen mailen.

Motor onderhoud bijhouden


  • André
  • Registratie: Maart 2002
  • Laatst online: 11:13

André

Analytics dude

ecageman schreef op woensdag 22 juni 2005 @ 11:29:
[...]


Hoe kom je daar nu bij? In de html specs staat gewoon dat het SRC attribuute geldig is in combinatie met het type image.
Klopt helemaal, een input type="image" moet zelfs een src hebben om te weten waar het plaatje staat. En dat het niet werkt kan ik niet verklaren aangezien een image button hetzelfde is als een submitbutton. Wat gebeurd er als je er een onclick="this.form.submit()" op zet?

  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

jeuh.. weer open :) Bedacht me na het posten ook dat ik me vergiste..

Wat gebeurd er nu uberhaupt? wordt het plaatje wel getoond of werkt zoals André suggereert het submitten niet?

Specs | Audioscrobbler


  • ecageman
  • Registratie: September 2001
  • Laatst online: 16-03 20:55
Waar het volgens mij fout gaat is de combinatie van een image type en een value. Ik geloof dat deze combinatie niet kan. Wat je kan doen is de value in een hidden input field zetten.

AMD Athlon 2800+, MSI K7N2Delta-L, 1024MB PC3200, SB Audigy2, XFX GF4MX440, BenQ DVD+-RW, NEC 1300A DVD+-RW, 2x WD 120GB 8mb, 2x Maxtor 250GB, Chenbro Gaming Bomb, Tagan 480W, 17" Iiyama monitor


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 15:28

TwoR

Gekleurde stippen

ecageman schreef op woensdag 22 juni 2005 @ 11:48:
Waar het volgens mij fout gaat is de combinatie van een image type en een value. Ik geloof dat deze combinatie niet kan. Wat je kan doen is de value in een hidden input field zetten.
klopt als ik in de handleiding kijkt die de TS aangeeft wordt deze combi ook nooit gemaakt.
even getest. Als ik in een <input type ="image" ook een value opgeef werkt de knop nog wel naar behoren. Maar de value wordt niet meegegeven.

[ Voor 19% gewijzigd door TwoR op 22-06-2005 11:55 ]


Verwijderd

Topicstarter
Sappie schreef op woensdag 22 juni 2005 @ 11:44:
jeuh.. weer open :) Bedacht me na het posten ook dat ik me vergiste..

Wat gebeurd er nu uberhaupt? wordt het plaatje wel getoond of werkt zoals André suggereert het submitten niet?
Het plaatje wordt getoont en het submitten werkt ook wel, maar volgens mij gaat idd de value niet mee..

*checkt nu hidden suggestie*

Verwijderd

een image map stuurt de value ook helemaal niet mee, dus da's logisch. Die stuurt x en y coordinaten mee.

Een oplossing is die value in een hidden field te stoppen

[ Voor 19% gewijzigd door Verwijderd op 22-06-2005 11:59 ]


  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

Daar lijkt het idd op.. wist trouwens niet dat de waarde van het value attribuut van een submit button (waar je normaal de tekst in de button mee aangeeft) wel doorgegeven wordt.

Specs | Audioscrobbler


  • André
  • Registratie: Maart 2002
  • Laatst online: 11:13

André

Analytics dude

Sappie schreef op woensdag 22 juni 2005 @ 11:58:
Daar lijkt het idd op.. wist trouwens niet dat de waarde van het value attribuut van een submit button (waar je normaal de tekst in de button mee aangeeft) wel doorgegeven wordt.
Zo kun je meerdere submitbuttons maken met elk hun eigen functionaliteit, bijvoorbeeld: opslaan/wijzigen enz. :)

  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

André schreef op woensdag 22 juni 2005 @ 12:00:
[...]

Zo kun je meerdere submitbuttons maken met elk hun eigen functionaliteit, bijvoorbeeld: opslaan/wijzigen enz. :)
juist :) nooit bij nagedacht.. weer wat geleerd :)

[ Voor 7% gewijzigd door Sappie op 22-06-2005 12:01 ]

Specs | Audioscrobbler


Verwijderd

zulke dingen zijn eigenlijk allemaal terug te vinden in de specs

Verwijderd

Topicstarter
André schreef op woensdag 22 juni 2005 @ 12:00:
[...]

Zo kun je meerdere submitbuttons maken met elk hun eigen functionaliteit, bijvoorbeeld: opslaan/wijzigen enz. :)
Ja maar ik wil datzelfde met plaatjes... Volgens mij kun je maar 1 hidden per form maken toch? Ben druk aan het googlen om de oplossing te vinden...

Verwijderd

heb je de link die ik gegeven heb doorgelezen? want daar staat gewoon in wat een image map wel doorgeeft

en 1 hidden field per form is onzin, maar ook dat had je daar kunnen lezen

[ Voor 28% gewijzigd door Verwijderd op 22-06-2005 12:10 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 11:13

André

Analytics dude

Verwijderd schreef op woensdag 22 juni 2005 @ 12:04:
[...]


Ja maar ik wil datzelfde met plaatjes... Volgens mij kun je maar 1 hidden per form maken toch? Ben druk aan het googlen om de oplossing te vinden...
Je kunt prima duizenden hidden fields gebruiken hoor ;)

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 15:28

TwoR

Gekleurde stippen

Verwijderd schreef op woensdag 22 juni 2005 @ 12:04:
[...]


Ja maar ik wil datzelfde met plaatjes... Volgens mij kun je maar 1 hidden per form maken toch? Ben druk aan het googlen om de oplossing te vinden...
je kan net zoveel hidden velden in een form maken als je wilt hoor.
gewoon:

<input type="hidden" name="x" value="z">

  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

met javascript kun je wel tot een oplossing komen.. verander bijvoorbeeld mbv het onclick event de waarde van de value van het hidden input element.

Of je kunt de submit buttons stylen (zoals http://www.picment.com/articles/css/funwithforms/ bijvoorbeeld gedaan is). Probleem is dat de waarde van het value attribuut wel terug blijft komen over de backgroundImage heen. Door met CSS de font-size op 0 te zetten los je dat in veel browsers wel op, echter IE zal denk ik toch nog wat laten zien van de tekst.

Of je kunt zoals Mophor al aangeeft iets met de coördinaten op de image doen, die dus ook doorgegeven worden.

[ Voor 11% gewijzigd door Sappie op 22-06-2005 12:12 ]

Specs | Audioscrobbler


Verwijderd

Topicstarter
André schreef op woensdag 22 juni 2005 @ 12:10:
[...]

Je kunt prima duizenden hidden fields gebruiken hoor ;)
Jewel, maar niet met dezelfde naam zoals de submit knoppen. Dus ff mn andere stuk code aanpassen....

  • André
  • Registratie: Maart 2002
  • Laatst online: 11:13

André

Analytics dude

Verwijderd schreef op woensdag 22 juni 2005 @ 12:15:
[...]


Jewel, maar niet met dezelfde naam zoals de submit knoppen. Dus ff mn andere stuk code aanpassen....
Geef ze allemaal een naam zoals dit: name="bla[]" en dan werkt het wel aangezien je de waardes dan als een array uit kunt lezen :)

Verwijderd

Topicstarter
André schreef op woensdag 22 juni 2005 @ 12:16:
[...]

Geef ze allemaal een naam zoals dit: name="bla[]" en dan werkt het wel aangezien je de waardes dan als een array uit kunt lezen :)
Ik kan je hierin niet helemaal volgen...

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 15:28

TwoR

Gekleurde stippen

André bedoelt het volgende:

Als je een input veld de naam "var[]" geeft dat ja na het posten een array krijgt die je kan doorlopen met bijvoorbeeld een for loop. door zoiets te doen:

PHP:
1
2
3
for($i = 0; $i < count($_POST[var]); $i++){
  echo $_POST[var][$i];
}

[ Voor 5% gewijzigd door TwoR op 22-06-2005 13:01 ]


  • ecageman
  • Registratie: September 2001
  • Laatst online: 16-03 20:55
Ik zou gewoon middels een klein stukje javascript de value van een hidden field aanpassen om aan te geven waarop gesorteerd moet worden.

AMD Athlon 2800+, MSI K7N2Delta-L, 1024MB PC3200, SB Audigy2, XFX GF4MX440, BenQ DVD+-RW, NEC 1300A DVD+-RW, 2x WD 120GB 8mb, 2x Maxtor 250GB, Chenbro Gaming Bomb, Tagan 480W, 17" Iiyama monitor

Pagina: 1