tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
851
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Tucker
    Tucker Tucker ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Riesa
    Beiträge
    428
    Hi,

    bitte nicht meclern, aber ich wusste nicht wie ich mein Problem umschreiben sollte. Daran hing dann auch die Suche, wusste nicht nach welchem Schlagwort ich suchen sollte.

    Ich batsle zur Zeit an meinem Gästebuch. Bisher hatte ich mit JavaScript keine Probleme.

    Allerdings wollte ich nun etwas neues einbauen.

    Es soll eine Tabellenzeile geschrieben werden, wenn man einen dafür vorgesehenen Link betätigt. Wenn man dann das zweite mal diesen Link betätigt, soll das neu geschriebene wieder verschwinden.

    dazu hab ich mir folgendes Script ausgedacht.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <script language="JavaScript">
    function zeileschreiben()
    {
    document.write('<inhalt der Zeile in der Tabelle')
    }
     
    function zeileloeschen()
    {
    //hier weiß ich schon nicht mehr weiter.
    }

    Wie schon gesagt, soll beim ersten betätigen die Zeile geschrieben werden, beim zweiten gelöscht werden. In PHP hätte ich dies mit einem if-clause realisiert. Weiterhin gibt es ja in PHP den Operatoren, der den Rest einer Division ausgibt. Gibt es den auch in JavaScrip? weil damit liese sich das Problem lösen, in dem man bei jedem betätigen des Links einer Variable 1 zu addiert. Dann könnt man durch diesen Operatoren auf gerade und ungerade Zahlen prüfen und dementsprechend das Zeile- schreiben und -löschen realisieren.

    Weiterhin weiß ich nicht, an welcher STelle ich das Script einbinden muss, bzw. wie ich realisiere, dass die Zeile an einer ganz bestimmten STelle in den Quellcode eingefügt wird.


    Vielen Dank für Hilfe im Vorraus.
     

  2. #2
    Avatar von saschaf
    saschaf saschaf ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Chemnitz (Sachsen)
    Beiträge
    261
    Wenns wirklich ein Gästebuch werden soll und du die Daten auch speichern willst, dann kannst du dir den Aufwand mit javascript schenken. Hiermit kannst du die Daten nämlich nicht sichern. (Ich hoffe ich hab dein Problem richtig verstanden.)
     

  3. #3
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    Du könntest zum Beispiel in der Tabellenzelle einen Div einfügen, den Du zu
    Beginn mit der CSS-Eigenschaft display: none versteckst. Wird der Link
    betätigt, wird die Eigenschaft auf block gesetzt. Bei wiederholtem Drücken
    entsprechend wieder auf none.

    Das folgende Skript wechselt zwischen Ein- und Ausblendung:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    // Browsererkennung
    IE = document.all && !window.opera;
    DOM = document.getElementById && !IE;
     
    function show_hide(strID){
        // Div-Objekt holen
        var myObj = (IE)?document.all[strID]:document.getElementById(strID);
        // Div ein- bzw ausblenden
        myObj.style.display = (myObj.style.display == "none")?"block":"none";
    }
    Die Tabelle mit zughörigem Link könnte wie folgt aussehen:
    Code :
    1
    2
    3
    4
    5
    6
    
    <table>
        <tr>
            <td><a href="#" onclick="show_hide1('divID')">zeile</a></td>
            <td><div id="divID" style="display: none;">Hallo, ich bin der Zeileninhalt!</div></td>
        </tr>
    </table>
    Ich hoffe, das hilft Dir weiter.

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  4. #4
    pastors pastors ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    19
    Was du suchst ist der Modulo-Operator '%'. Gibts normalerweise in jeder Programmiersprache (zumindest in C++,Java,PHP und VB).Z.B. 4%2. Also ich würde einfach beim löschen einen leeren String übergeben. Keine Ahnung ob das mit JS funktioniert. Mache auch erst JS seit 2 Tagen

    Mike
     

  5. #5
    Avatar von Tucker
    Tucker Tucker ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Riesa
    Beiträge
    428
    Also, ichbrauche dieses Script für den Bereich, wo man seinen Eintrag in ein Gästebuch tätigt. Am Anfang soll eine Zeile stehen, in dem einLink steht, in meinen Fallen einLink zu einer Auflistung der benutzbaren bb-tags.Wenn man diesen Link betätigt, soll der Link durch die Auflistung mit den Tags ersetzt werden. Andernfalls kann der Link auch stehen bleiben und die AUflistung unter dem Link statt finden.

    Mein erster Gedanke war ähnlich, wie ich es mit PHP realisiert hätte. Hab erst mit JavaScript angefangen, deshalb frag ich. Möglicherweise verdeutlicht sich meinProblem,wenn ich mal ein äquivalentes PHP Script schreibe, obwohl es sich ja mit PHP nicht Clientseitig realisieren lässt.

    PHP-Code:
    <?php

    $i
    =1

    function Zeile_schreiben()
    {
    echo 
    "<td>";
    echo 
    "<a href....>";
    ...
    echo 
    "</td>";
    echo 
    "</tr>";
    }

    function 
    zeile_loeschen()
    {
    echo 
    "</tr>";
    }

    $i+1//Wert von i oll bei jedem Klick des Linkes um 1 erhöht werden

    if ($i%== 0)
    {
    zeile_schreiben()
    }

    else 
    {
    zeile_loeschen()
    }

    ?>
    Der Wert von $i soll bei jedem Klick erhöht werden und entsprechend dem Rest wird die Zeile geschrieben oder nicht. Vor dem Script steht dann noch natürlich <tr>.

    Allerdings wüsste ich jetzt nicht, wie ich dieses Problem clientseitig, sprich mit JavaScript realisierensollte.

    Mein erster Gedanke war auch hier ähnlich mit document.write(). Allerdings weiß ich z.B. auch nicht, an welcher STelle ich das Scrip einbinden muss, damit es mir auch die eingeleitete Tabellenzeile schließt.


    Ich hoffe ich konnte nun verständlicher mahcne,was ich meine.
     

  6. #6
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    was gefällt Dir an dem von mir geposteten Script nicht?
    Es sollte doch das realisieren, was Du wünschst. Du musst nur für die Zeile
    "Hallo, ich bin der Zeileninhalt!" die Liste der verfügbaren bb-Tags einfügen.

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  7. #7
    Avatar von Tucker
    Tucker Tucker ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Riesa
    Beiträge
    428
    Undanwelcher Stelle muss ich das Script einfügen?

    Meine zweite Nachfrage war nicht gegen dich, sehe nur, bzw. verstehe dein Script nicht. Ist mir noch ein "bisschen" zu hoch.
     

  8. #8
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Per document.write() kannst du nur wärend des Ladens der Seite Text ausgeben(mal von Netscape4 abgesehen).

    Bei anderen Browsern entschärfst du damit, so es nach dem Laden der Seite ausgeführt wird, diese Seite komplett..... sie ist weg

    Nehme stattdessen innerHTML.... das können IE ab V4, Opera7,Netscape7 und Mozilla.

    @pastors
    Den Modulo-Operator gibts auch in Javascript
     

  9. #9
    Quaese Quaese ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Feb 2004
    Beiträge
    3.451
    Hi,

    ich habe Dir ein Beispiel-Dokument in den Anhang gepackt.

    Ciao
    Quaese
     
    Vielleicht muss man manchmal vom Weg abkommen, um nicht auf der Strecke zu bleiben!
    ----
    Der "Fortsetzungsroman" auf www.leuteforum.de

    New kind to realize large scalable projects with jQuery: jQuery SDK

  10. #10
    Avatar von Tucker
    Tucker Tucker ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Ort
    Riesa
    Beiträge
    428
    Jetzt hab ich ein Problem, aus dem Grund, dass ich das Script nicht verstehe. Ist nicht böse gemeint, ist ja mein verschulden.

    Ich wollte dieses schöne Script nun auf meiner Seite einbinden, um größerer Navigationsblöcke verschwinden zu lassen.

    Ich habe einfach dann an zwei Stellen den Link und die div- Zeile eingefügt und schon kommen die Fehlermeldungen rein geflattert.

    Als nächstes hab ich versucht, den Fehler mit Kopieren und Umbenennung der Funktion zu beseitigen, Fehl(er)anzeige.


    Kann mir jemand helfen?
     
    Wenn man der freudschen psychosexuellen Theorie über Eros und Tanatos glaubt, bleibt eine unbeantwortbare Frage: Was hat Programmieren mit der Libido und sexueller Befriedigung zu tun?

Ähnliche Themen

  1. document.write()
    Von Crash123 im Forum Javascript & Ajax
    Antworten: 17
    Letzter Beitrag: 23.02.09, 14:06
  2. document.write
    Von notebook20000 im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 09.04.07, 01:31
  3. Document.write
    Von messmar im Forum Javascript & Ajax
    Antworten: 10
    Letzter Beitrag: 23.03.06, 16:48
  4. document.write
    Von crunch im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 06.04.03, 11:52
  5. document.write....
    Von Bluebird im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 06.02.02, 00:04