[gelöst]xhtml valide $form['select'] 'onChange'
Eingetragen von Sofo (72)
am 11.09.2006 - 07:25 Uhr in
am 11.09.2006 - 07:25 Uhr in
hallo,
ich habe folgende frage
ich verwende $form['select'] mit den '#attributes' => array('onChange'
dies ist nicht xhtml valide da das select kein onchange=" "
element enthalten darf. bei validome wir nun empfohlen das das blockelement p /p eingefügt werden kann und danach onchange=" " valide ist.
</form>
<form action="/Textpattern/" method="get">
<p> <select name="c" onchange="submit(this.form)">
<option ..........option value="Windows">Windows</option>
</select> </p>
wie kann ich dieses blockelement in meinem folgenden block einfügen
<?php
print("<br /><br /><br />");
$formname="Themen";
$vocabulary = db_query("SELECT term_data.name, term_data.tid FROM term_data WHERE (term_data.vid=2) or (term_data.vid=5) or (term_data.vid=6) ORDER BY term_data.vid");
$options['http://www......../index.php'] = t('Themen');
//Populate array with url / name
while ($term = db_fetch_object($vocabulary)) {
$options['http://www....... .eu/index.php?q=taxonomy/term/'.$term->tid] = $term->name;
}
$form['select'] = array(
'#type' => 'select',
'#name' => $formname,
'#id' => $formname,
'#title' => '',
'#default_value' => ' ',
'#options' => $options,
'#description' => ' ',
'#multiple' => $multiple = FALSE,
'#required' => $required = True,
'#attributes' => array('onChange' => "top.location.href=document.getElementById('$formname').options[document.getElementById('$formname').selectedIndex].value"),);
return form_render($form['select']);
?>
danke lg sofo
- Anmelden oder Registrieren um Kommentare zu schreiben
Groß- und Kleinschreibung
am 11.10.2006 - 14:33 Uhr
Ersetze mal onChange durch onchange, komplett klein geschrieben. Das sollte das Problem lösen.
--
Websites: Ramiro.org | Torlaune.de
Ramiro
danke
am 11.10.2006 - 18:35 Uhr
danke,
werde es nochmals versuchen und hier miteilen wie es ausgegangen ist.
mitlerweile setze ich taxonomy_filter block vermehrt ein.
so eine schnelle auswahl auf der startseite ist halt schon von vorteil, da viele neue besucher einem nicht gerade viel zeit lassen um sie als mitglieder zu gewinnen.
lg sofo
Wir Eltern in Europa
lg sofo
Frutigen Schützenverein
ok ist
am 11.10.2006 - 20:42 Uhr
ok ist valid,
klein-grossschriebung muss noch vieles lernen.
kämpfe auch immer mit inlines tags oder nicht.
werde nur noch den fehler code in drupal lösen müssen
implode(): Bad arguments.‘ in ‚d:\..\..\includes\form.inc‘ in Zeile 292.
aufarbeiten müssen dann werde ich "news select" wieder einsetzen.
danke.
lg sofo
Wir Eltern in Europa
lg sofo
Frutigen Schützenverein
Wobei tritt dieser Fehler
am 12.10.2006 - 21:01 Uhr
Wobei tritt dieser Fehler auf?
--
Websites: Ramiro.org | Torlaune.de
Ramiro
php logs
am 13.10.2006 - 06:09 Uhr
hallo,
ich glaube immer wenn der inhalt des select feldes mit daten gefüllt wird. so erscheint in den logs der php fehler immer beim aufruf und dies gleich zweimal. ich glaube das ich mit der parameterübergabe an das form select etwas falsch mache. ich benutze 4.7.3.
lg sofo
Wir Eltern in Europa
lg sofo
Frutigen Schützenverein
Die Lösung
am 13.10.2006 - 23:05 Uhr
steht im selben Thread aus dem du den Code wahrscheinlich hast. Anstatt form_render muss drupal_get_form verwendet werden, siehe:
http://drupal.org/node/48843#comment-151633
--
Websites: Ramiro.org | Torlaune.de
Ramiro
news select
am 14.10.2006 - 04:20 Uhr
hallo,
danke jetzt funktioniert es
besten dank.
die funktionsänderung habe ich in der drupal api auch enteckt aber den fehler gemacht das ich ('*****_dropdown', $form) ***** name nicht richtig eingesetz habe, ärgerlich als hoby programmierer unterlaufen mir oft solche fehler. zum glück kann mann sich dann an profis halten.
deine seite gefählt mir gut, übersichtlich und funktionell.
der in drupal 4.7.3 funktionierende code um in einem select, alle taxomie terms auszuwählen, und mit onchance direkt zu filtern. mit css kann das select angesprochen werden.
<?php
$formname='Themen';
$vocabulary = db_query("SELECT term_data.vid, term_data.name, term_data.tid FROM {term_data} WHERE (term_data.vid=2) or (term_data.vid=5) or (term_data.vid=6) ORDER BY term_data.vid");
$options['http://www.wireltern.eu/index.php'] = t(Themen);
while ($term = db_fetch_object($vocabulary)) {
$options['http://www.wireltern.eu/index.php?q=taxonomy/term/'.$term->tid] = $term->name;
}
$form['select'] = array(
'#type' => 'select',
'#name' => $formname,
'#id' => $formname,
'#title' => '',
'#default_value' => '',
'#options' => $options,
'#description' => ' ',
'#multiple' => $multiple = FALSE,
'#required' => $required = True,
'#attributes' => array('onchange' => "top.location.href=document.getElementById('$formname').options[document.getElementById('$formname').selectedIndex].value"),);
return drupal_get_form('Themen_dropdown', $form);
?>
lg sofo
Wir Eltern in Europa
lg sofo
Frutigen Schützenverein
Re: news select
am 14.10.2006 - 12:31 Uhr
deine seite gefählt mir gut, übersichtlich und funktionell.
danke, dass höre ich doch gerne ;)
Gut, dass du den funktionierenden Code nochmal gepostet hast!
Grüße yaph
Ramiro
term select für drupal 5.1
am 19.03.2007 - 12:27 Uhr
<?php
$output = drupal_get_form('Company_dropdown_form', $form);
return $output;
function Company_dropdown_form() {
$formname="Select";
$vid='(term_data.vid=2) or (term_data.vid=5) or (term_data.vid=6) '; // where klausel
$order='term_data.vid'; // order kalusel
$vocabulary = db_query("SELECT term_data.name, term_data.tid FROM term_data WHERE $vid ORDER BY $order");
$options[] = t($formname); // Initialise the country array
//Populate array with url / name
while ($term = db_fetch_object($vocabulary)) {
$options['index.php?q=taxonomy/term/'.$term->tid] = $term->name;
}
//Build dropdown select
//If we try to build OnChange directly it gets mangled, so put in array to confuse the forms api
$form['category'] = array(
'#type' => 'select',
'#name' => $formname,
'#id' => $formname,
'#title' => '',
'#default_value' => '',
'#options' => $options,
'#description' => '',
'#multiple' => $multiple = FALSE,
'#required' => $required = FALSE,
'#attributes' => array('onChange' => "top.location.href=document.getElementById('$formname').options[document.getElementById('$formname').selectedIndex].value"),
);
return $form;
}
?>
in action Test Site Wir Eltern in Europa
gefunden bei http://drupal.org/node/91924#comment-209160
lg sofo
Wir Eltern in Europa
lg sofo
Frutigen Schützenverein