Announcement

Collapse
No announcement yet.

onclick und link

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • onclick und link

    Hallo,

    ich möchte gerne bei meinem Programm ein Hilfe-Popup-Fenster anbieten. Dabei soll hinter dem Begriff ein kleines Fragezeichen verlinkt sein. Wird das geklickt soll aber kein link aufgerufen und zu einer anderen Seite gegangen werden, sondern ein verstecktes Overlay aktiviert werden (indem wird der Begriff dan kurz erklärt), damit die bereits eingetragenen Werte nicht weg sind - ich hoffe ich konnte erklären, worauf ich hinaus will.

    Ich mache so etwas ähnliches schon mit einer Drop-Down-Box; wählt der Benutzer dort einen neuen Wert aus wird ein Fenster via onchange geöffnet und nachgefragt ob er speichern will, bevor er sich die Details zu dem anderen Wert anzeigen lässt. Das mache ich so:

    PHP Code:
    <form action="index.php" name="test" method="get">
    <
    input type="hidden" name= ...>
    (...)
    echo(

                    <table id="saveControl" name="saveControl" width="200" border="1" class="overlayHidden" height="80" >
                        <tr>
                        <td align="center" valign="middle">
                          <h2>'
    ._notSaved_.'</h2> <p>
                            <input type="hidden" name="param" value="admin">
                            <input type="hidden" name="modules" value="'
    .$value.'">
                            <input type="hidden" name="oldGroupID" value="'
    .$groupID.'">
                            <input type="submit" name="saveByChange" value="save" onClick="document.forms["test"].submit();"/>
                            <input type="submit" name="test" value="not save" onClick="document.forms["test"].submit();"/>
                        </td>
                      </tr>  
                    </table>
            '
    );        
            
            
             <
    select name="modules" size="1" onchange="document.getElementById('saveControl').style.visibility='visible'";>
             
           
    (...) 
    Das funktioniert auch wunderbar.

    Jetzt möchte ich aber, wie oben bereits erwähnt, genau das selbe Event aktivieren nur diesmal nicht über die Drop-Down-Box, sondern über das anklicken des links. Also statt dem onchange:

    PHP Code:
    <a href="" title="" onclick="document.getElementById('saveControl').style.visibility='visible'";> ? </a
    Dabei ist es absicht, das href leer ist - es soll ja nur das Fenster aktiviert werden. Es öffnet sich zwar auch das Fenster - leider schließt es sich auch sofort wieder - aber es soll ja stehen beiben und dann auf das anklicken der Buttons im Overlay warten...

    Hat jemand eine Idee, was ich falsch mache? Oder eine alternative Lösungsidee?

  • #2
    Hallo,
    Originally posted by Chili View Post
    ...Hat jemand eine Idee, was ich falsch mache? Oder eine alternative Lösungsidee?
    Damit beim Anklicken eines Links nur das onklick-Event ausgeführt und nicht dem Link gefolgt wird, muß das onklick einen Returnwert False haben.
    HTML Code:
    <a href="" title=""
         onclick="document.getElementById('saveControl').style.visibility='visible';return false;"> ? </a>  
    Du solltest aber trotzdem für href einen gültigen Wert angeben, um auch für Nutzer ohne Javascript die Usability zu erhalten.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Achsoo, jetzt geht es auch - vielen lieben Dank

      Comment

      Working...
      X