Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2008
    Messaggi
    1

    XHtml, javascript e firefox non vanno d'amore e d'accordo

    Salve, questo è un discorso che ho già visto qualcuno ha affrontato, ma molto di striscio pare. Se la spiegazione era già chiara e limpida in una altro post, me ne scuso, ma fino ad ora non ho trovato ciò che cercavo.

    diciamo che il mio documento inizia così,

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    e poi, da qualche parte abbiamo

    <form method="get" id="topicform" action="index.php">
    <? if(isset($_GET['show_from'])) echo '<input type="hidden" name="show_from" value="',intval($_GET['show_from']),'" />';?>


    <label for="show_topic">Show topic: </label>
    <select name="show_topic" id="show_topic" onchange="topicform.submit()">
    <option value="all">All</option>
    <?
    foreach($_SESSION['topics'] as $topic)
    {
    echo '<option value="',$topic,'"';
    if($topic==$_GET['show_topic']) echo ' SELECTED';
    echo '>',$topic,'</option>',"\n";
    }
    ?>
    </select>
    </p>
    <noscript>


    <input type="submit" value="filter" /></p>
    </noscript>
    </form>


    vabbè l'importante è <select name="show_topic" id="show_topic" onchange="topicform.submit()">

    problema: ie funziona, firefox no. Firefox all'onchange mi puo' cambiare il colore di un testo, il background del select, darmi un alert, ma si rifiuta di fare questo submit.


    E tutto per colpa del doctype lì sopra.

    (ah, le precisazioni: ho provato anche con document.topicform.submit() e anche uno scriptino con getElementById('topicform'), ma senza successo, e in realtà non è che il mio documento sia proprio strict, per colpa di una & di troppo. Potrebbe essere quello?).

    Avete suggerimenti? Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se assegni solo l' id al form vi puoi accedere attraverso l' id
    document.getElementById('idForm').submit();
    deve funzionare

    document.nomeForm.submit();
    non puo' funzionare perche' tu non assegni un name al form

    IE e' uno scellerato perche' considera name e id come la stessa cosa

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.