Nach Select Auswahl Button aktivieren
Bruzzler
- javascript
Hi zusammen,
ich hab ein Selectfeld, nachdem bei Auswahl einer Option der Submit Button von deaktiviert auf aktiviert wechseln soll. Dummerweise hat das selectfeld schon ein anderes onchange-Event. Gibts noch eine andere Möglichkeit, das zu realisieren?
Danke und Grüße
Dummerweise hat das selectfeld schon ein anderes onchange-Event.
weise onchange eine Funktion zu, die sowohl das eine als auch das andere tut
weise onchange eine Funktion zu, die sowohl das eine als auch das andere tut
Hmm, die eine Onchange wird dynamisch von Virtuemart generiert, das will ich nicht wirklich umschreiben..andere möglichkeiten gibts nicht?
[latex]Mae govannen![/latex]
weise onchange eine Funktion zu, die sowohl das eine als auch das andere tut
Hmm, die eine Onchange wird dynamisch von Virtuemart generiert, das will ich nicht wirklich umschreiben..andere möglichkeiten gibts nicht?
Per addEvent() oder ähnlich aufgebauten Helferfunktionen, die es massenhaft im Netz gibt, kannst du problemlos mehrere Events nutzen.
Stur lächeln und winken, Männer!
Kai
Dummerweise hat das selectfeld schon ein anderes onchange-Event.
weise onchange eine Funktion zu, die sowohl das eine als auch das andere tut
-->
so sieht das in Virtuemart aus:
if( VM_CONTENT_PLUGINS_ENABLE == '0' ) {
$html .= "<select class=\"inputbox\" onchange=\"var id = $('product_id_field')[selectedIndex].value; if(id != '') { document.location = '" . $mm_action_url . "index.php?option=com_virtuemart&page=shop.product_details&flypage=$flypage&Itemid=$Itemid&category_id=$category_id&product_id=' + id; }\" id=\"product_id_field\" name=\"prod_id[]\">\n" ;
} else {
$html .= "<select class=\"inputbox\" onchange=\"var id = $('product_id_field')[selectedIndex].value; if(id != '') { loadNewPage( 'vmMainPage', '" . $mm_action_url . "index.php?option=com_virtuemart&page=shop.product_details&flypage=$flypage&Itemid=$Itemid&category_id=$category_id&product_id=' + id ); }\" id=\"product_id_field\" name=\"prod_id[]\">\n" ;
Vielleicht kann mir wer helfen, das in ne Funktion zu packen?
Moin,
Dummerweise hat das selectfeld schon ein anderes onchange-Event.
weise onchange eine Funktion zu, die sowohl das eine als auch das andere tut
-->
so sieht das in Virtuemart aus:
if( VM_CONTENT_PLUGINS_ENABLE == '0' ) {
$html .= "<select class="inputbox" onchange="var id = $('product_id_field')[selectedIndex].value; if(id != '') { document.location = '" . $mm_action_url . "index.php?option=com_virtuemart&page=shop.product_details&flypage=$flypage&Itemid=$Itemid&category_id=$category_id&product_id=' + id; }" id="product_id_field" name="prod_id[]">\n" ;
} else {
$html .= "<select class="inputbox" onchange="var id = $('product_id_field')[selectedIndex].value; if(id != '') { loadNewPage( 'vmMainPage', '" . $mm_action_url . "index.php?option=com_virtuemart&page=shop.product_details&flypage=$flypage&Itemid=$Itemid&category_id=$category_id&product_id=' + id ); }" id="product_id_field" name="prod_id[]">\n" ;
In Zukunft bei clientseitigen Problemen nur den generierten Code posten!
Du siehst in dem Code doch das onchange-Attribut. Dort kannst du doch soviel (z.B. Funktionsaufrufe) dazuschreiben, wie du lustig bist, oder?
Gruß,
Take
Hi,
wie meinst du das?
Einfach so:
<select name="prod_id[]" id="product_id_field" onchange="var id = $('product_id_field')[selectedIndex].value; if(id != '') { MagicZoomPlusToolVMloadNewPage( 'vmMainPage', 'http://www.stuffbeaters.de/index.php?option=com_virtuemart&page=shop.product_details&flypage=flypage.tpl&Itemid=53&category_id=36&product_id=' + id ); document.addtocart.addcart.disabled = (this.selectedIndex == 0 ? true : false); }" class="inputbox">
?
Moin,
Hi,
wie meinst du das?
Einfach so:
<select name="prod_id[]" id="product_id_field" onchange="var id = $('product_id_field')[selectedIndex].value; if(id != '') { MagicZoomPlusToolVMloadNewPage( 'vmMainPage', 'http://www.stuffbeaters.de/index.php?option=com_virtuemart&page=shop.product_details&flypage=flypage.tpl&Itemid=53&category_id=36&product_id=' + id ); document.addtocart.addcart.disabled = (this.selectedIndex == 0 ? true : false); }" class="inputbox">
>
> ?
Genau, das ist der generierte Quelltext. Viel einfacher zu lesen, oder?
In das onchange-Attribut des Select-Feldes kannst du doch per Hand einfach deinen Funktionsaufruf noch hinten dranhängen, also:
~~~html
<select name="prod_id[]" id="product_id_field" onchange="var id = $('product_id_field')[selectedIndex].value; if(id != '') { MagicZoomPlusToolVMloadNewPage( 'vmMainPage', 'http://www.stuffbeaters.de/index.php?option=com_virtuemart&page=shop.product_details&flypage=flypage.tpl&Itemid=53&category_id=36&product_id=' + id ); document.addtocart.addcart.disabled = (this.selectedIndex == 0 ? true : false); } deine_funktion();" class="inputbox">
Dann wird erst der Virtuemart-Code ausgeführt und dann deine Funktion.
Gruß,
Take
Hi Take,
ja das habe ich ja versucht, aber das scheint nicht zu klappen, die Virtuemart Funktion wird ordnungsgemäß ausgeführt , aber der Button nicht aktiviert...
<select name="prod_id[]" id="product_id_field" onchange="var id = $('product_id_field')[selectedIndex].value; if(id != '') { MagicZoomPlusToolVMloadNewPage( 'vmMainPage', 'http://www.stuffbeaters.de/index.php?option=com_virtuemart&page=shop.product_details&flypage=flypage.tpl&Itemid=53&category_id=36&product_id=' + id ); } document.addtocart.addcart.disabled = (this.selectedIndex == 0 ? true : false);" class="inputbox">
Komisch oder?
Moin,
Hi Take,
ja das habe ich ja versucht, aber das scheint nicht zu klappen, die Virtuemart Funktion wird ordnungsgemäß ausgeführt , aber der Button nicht aktiviert...
<select name="prod_id[]" id="product_id_field" onchange="var id = $('product_id_field')[selectedIndex].value; if(id != '') { MagicZoomPlusToolVMloadNewPage( 'vmMainPage', 'http://www.stuffbeaters.de/index.php?option=com_virtuemart&page=shop.product_details&flypage=flypage.tpl&Itemid=53&category_id=36&product_id=' + id ); } document.addtocart.addcart.disabled = (this.selectedIndex == 0 ? true : false);" class="inputbox">
Oh. Hatte gar nicht gesehen, dass du es ja schon versucht hast... Sorry.
Was sagt die Fehlerkonsole? Mach mal einfach ein `alert(document.addtocart.addcart);`{:.language-javascript}. Sind da vielleicht auch eckige Klammern wegen PHP? Dann brauchst du `document.addtocart['addcart[]']`{:.language-javascript}
>
> Komisch oder?
Gruß,
Take
hI Take,
hab das mit dem alert probiert: Dann erscheint:
ObjectHTMLInputElement
... Was beduetet das?
Danke und Grüße