» »

[HTML+PHP+JavaScript]Prenos izbranega elementa dinamicnega generiranega HTML comboboxa v php skripti v javascript funckijo

[HTML+PHP+JavaScript]Prenos izbranega elementa dinamicnega generiranega HTML comboboxa v php skripti v javascript funckijo

KernelPanic ::

Spostovani!

Imam sledec problem: PHP skritpa dinamicno generira html combobox element glede na stanje v bazi. Tukaj je koda:
/*
 *  Output a form pull down menu
 *  Pulls values from a passed array, with the indicated option pre-selected
 */
  function zen_draw_pull_down_menu($name, $values, $default = '', $parameters = '', $required = false) {
    //$field = '<select name="' . zen_output_string($name) . '"';
    $field = '<select name="' . zen_output_string($name) . '"'.' onchange="processSelection()"';

    if (zen_not_null($parameters)) $field .= ' ' . $parameters;

    $field .= '>' . "\n";

    if (empty($default) && isset($GLOBALS[$name]) && is_string($GLOBALS[$name]) ) $default = stripslashes($GLOBALS[$name]);

    for ($i=0, $n=sizeof($values); $i<$n; $i++) {
      $field .= '  <option value="' . zen_output_string($values[$i]['id']) . '"';
      if ($default == $values[$i]['id']) {
        $field .= ' selected="selected"';
      }

      $field .= '>' . zen_output_string($values[$i]['text'], array('"' => '&quot;', '\'' => '&#039;', '<' => '&lt;', '>' => '&gt;')) . '</option>' . "\n";
    }
    $field .= '</select>' . "\n";

    if ($required == true) $field .= TEXT_FIELD_REQUIRED;

    return $field;
  }
To je koda iz Zen Carta generira combobox, v katerem se prikazejo atributi produkta, v mojem primeru embalaza (1L, 2L, 50L, 100L, 200L). onchange="processSelection()sem dodal v glavo comboboxa sam, da bi ujel izbrani element v sledeci funkciji, ki se nahaja v istem fajlu spodaj:
<script language="JavaScript" type="text/javascript">
function processSelection(/*strComboBoxName*/)
{
    //var e=document.getElementById(strComboBoxName);

    //alert(e); // get the chosen value
    alert("Clicked");
}   // processSelection
</script>
Torej, ko kliknem na ta combobox, se pokaze alert window z vsebino "Clicked", kar je prav. Vendar, kako naj sedaj prenesem izbrani parameter v javascript funkcijo? Probal sem z processSelection(strComboBoxName) in v phpju sem dal onclicked=processSelectio(this), vendar mi alert vztrajno vraca vrednost "Undefiend". Mi lahko kdo pomaga?

S spostovanjem in lp,
M.

Matek ::

Če uporabiš
onclicked=processSelection(this)
boš dobil v funkcijo referenco na element, ki je bil kliknjen - torej že direktno to, kar rabiš. Ti imaš tisti zakomentirani del funkcije napisan, kot da pričakuješ string z id-jem, ki ga potem uporabiš za klic getElementById.

Torej, poskusi
var e=document.getElementById(strComboBoxName);
alert(e); // get the chosen value

kar spremeniti v
alert(strComboBoxName);
Bolje ispasti glup nego iz aviona.

Zgodovina sprememb…

  • spremenil: Matek ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

html povezava na spletno stran

Oddelek: Pomoč in nasveti
6850 (718) mm&r
»

Podajanje parametra[PHP, html, JavaScript]

Oddelek: Izdelava spletišč
91155 (1030) Bojevnik
»

[php, html, javascript...] učenje programiranja

Oddelek: Programiranje
294907 (4074) Adrijan0
»

tri state pojav?

Oddelek: Elektrotehnika in elektronika
51425 (1260) svizec75
»

HTML forma in datum

Oddelek: Izdelava spletišč
131817 (1553) Muzo

Več podobnih tem