Anzeige

Zugriff auf Kommentar Textarea

Zugriff auf Kommentar Textarea | PSD-Tutorials.de

Erstellt von Coulyo, 06.10.2013.

  1. Coulyo

    Coulyo Director

    Dabei seit:
    04.06.2012
    Beiträge:
    70
    Geschlecht:
    männlich
    Ort:
    Flensburg
    Software:
    Photoshop, After Effects, Premiere, Blender
    Kameratyp:
    5D Mark III
    Zugriff auf Kommentar Textarea
    Hallo,

    Ich hoffe ich bin hier im richtigen Unterforum, weil das Thema eigentlich auch bei Javascript rein könnte :)

    Also ich erstelle gerade mit Wordpress eine Website und möchte die Kommentarsektion anpassen. Mit dem unten stehenden Code aus der comments.php habe ich es immerhin geschafft, das Website-Feld verschwinden zu lassen und die anderen input Felder ein wenig zu bearbeiten (falls das überhaupt relevant ist).

    Meine Frage gilt nun der Textarea zur Eingabe von Kommentaren. Und zwar möchte ich bei Klick in das Textfeld eine Javascript Funktion aufrufen. Der mir bekannte Weg dazu wäre <textarea onclick="meineFunktion();">.
    Da das Textfeld aber automatisch von Wordpress generiert wird, habe ich keinen Zugriff auf den <textarea>-Tag und kann meinen Funktionsaufruf nicht da reinschreiben.

    Gibt es noch eine andere möglichkeit die Funktion bei Klick auf das Textfeld aufzurufen? Bzw. kann man irgendwo beeinflussen, wie Wordpress den Tag erstellt?

    Danke im voraus!


    HTML:
    1.     <?php
    2.    
    3.     $fields =  array(
    4.  
    5.       'author' =>
    6.         '<p class="comment-form-author"><label for="author">' . __( 'Name', 'domainreference' ) . '</label> ' .
    7.         ( $req ? '<span class="required">*</span>' : '' ) .
    8.         '<input id="author" name="author" type="text" placeholder="Name*" value="' . esc_attr( $commenter['comment_author'] ) .
    9.         '" size="43"' . $aria_req . ' /></p>',
    10.    
    11.       'email' =>
    12.         '<p class="comment-form-email"><label for="email">' . __( 'Email', 'domainreference' ) . '</label> ' .
    13.         ( $req ? '<span class="required">*</span>' : '' ) .
    14.         '<input id="email" name="email" type="text" placeholder="Email*" value="' . esc_attr(  $commenter['comment_author_email'] ) .
    15.         '" size="44"' . $aria_req . ' /></p>',
    16.    
    17.    
    18.     );
    19.    
    20.     $comments_args = array(
    21.  
    22.         'comment_notes_after' => '',
    23.         'comment_notes_before' => '',
    24.         'fields' => $fields
    25.        
    26.     );
    27.     comment_form($comments_args);
    28.    
    29.     ?>
     
    #1      
  2. cebito

    cebito undefined

    262
    Dabei seit:
    08.03.2008
    Beiträge:
    8.316
    Geschlecht:
    männlich
    Ort:
    Dresden
    Kameratyp:
    zum durchgucken
    Zugriff auf Kommentar Textarea
    AW: Zugriff auf Kommentar Textarea

    Ich geh mal davon aus, das jQuery eh geladen ist und das Kommentarfeld die default-ID comment besitzt, dann so:
    PHP:
    1. $('#comment').click(function{
    2.     tuWas();
    3. });
     
    #2      
  3. Coulyo

    Coulyo Director

    Dabei seit:
    04.06.2012
    Beiträge:
    70
    Geschlecht:
    männlich
    Ort:
    Flensburg
    Software:
    Photoshop, After Effects, Premiere, Blender
    Kameratyp:
    5D Mark III
    Zugriff auf Kommentar Textarea
    AW: Zugriff auf Kommentar Textarea

    Mit jQuery hab ich noch gar nichts gemacht. Ich hab bis jetzt nur mit "purem" Javascript gearbeitet.
     
    #3      
  4. Coulyo

    Coulyo Director

    Dabei seit:
    04.06.2012
    Beiträge:
    70
    Geschlecht:
    männlich
    Ort:
    Flensburg
    Software:
    Photoshop, After Effects, Premiere, Blender
    Kameratyp:
    5D Mark III
    Zugriff auf Kommentar Textarea
    AW: Zugriff auf Kommentar Textarea

    Ich versuche es jetzt gerade mit jQuery, aber irgendwie kriege ich es nicht hin. Ich versuche jetzt einen Placeholder für das Textfeld zu setzen...

    HTML:
    1. <script type="text/javascript">
    2.     $(function(){
    3.         function setPlaceholder(){
    4.                 document.getElementById('comment').placeholder = 'Hinterlasse einen Kommentar...';
    5.         }
    6. });
    7.        
    8.    
    9. <script type="text/javascript">
    10.     $('#comment').click(function(){
    11.             setPlaceholder();
    12.     });  
     
    #4      
  5. cythux

    cythux Aktives Mitglied

    Dabei seit:
    10.01.2008
    Beiträge:
    1.489
    Geschlecht:
    männlich
    Ort:
    Waimes (Weismes), Belgien
    Software:
    PS CC 2014, Lightroom 5 Aptana Studio 3, ST2/3, SASS+COMPASS
    Kameratyp:
    Canon EOS 1200D
    Zugriff auf Kommentar Textarea
    #5      
  6. Coulyo

    Coulyo Director

    Dabei seit:
    04.06.2012
    Beiträge:
    70
    Geschlecht:
    männlich
    Ort:
    Flensburg
    Software:
    Photoshop, After Effects, Premiere, Blender
    Kameratyp:
    5D Mark III
    Zugriff auf Kommentar Textarea
    AW: Zugriff auf Kommentar Textarea

    Danke erstmal für den Link, allerdings habe ich den schon durchgearbeitet. Ich habe die comments.PHP aus dem twentythirteen Themen übernommen und wie oben gesagt schon so weit angepasst, dass das Website-Feld nicht mehr angezeigt wird. Allerdings habe ich eben noch keinen Weg gefunden auf die Textarea zuzugreifen...
     
    #6      
  7. cythux

    cythux Aktives Mitglied

    Dabei seit:
    10.01.2008
    Beiträge:
    1.489
    Geschlecht:
    männlich
    Ort:
    Waimes (Weismes), Belgien
    Software:
    PS CC 2014, Lightroom 5 Aptana Studio 3, ST2/3, SASS+COMPASS
    Kameratyp:
    Canon EOS 1200D
    Zugriff auf Kommentar Textarea
    #7      
  8. Coulyo

    Coulyo Director

    Dabei seit:
    04.06.2012
    Beiträge:
    70
    Geschlecht:
    männlich
    Ort:
    Flensburg
    Software:
    Photoshop, After Effects, Premiere, Blender
    Kameratyp:
    5D Mark III
    Zugriff auf Kommentar Textarea
    AW: Zugriff auf Kommentar Textarea

    Danke für die Links!
    Aber es geht mir nicht primär um die Placeholder. Was ich will:

    Ich verstecke via CSS (display:none;) die beiden Felder für Name und Email sowie den Submit Button und zeige nur das Textfeld. Sobald das Textfeld angeklickt wird sollen die versteckten Sachen alle display:block; bekommen.
     
    #8      
  9. Coulyo

    Coulyo Director

    Dabei seit:
    04.06.2012
    Beiträge:
    70
    Geschlecht:
    männlich
    Ort:
    Flensburg
    Software:
    Photoshop, After Effects, Premiere, Blender
    Kameratyp:
    5D Mark III
    Zugriff auf Kommentar Textarea
    AW: Zugriff auf Kommentar Textarea

    So, habs nu endlich selbst hinbekommen und zwar mit diesem kleinen jQuery-Script:

    HTML:
    1. <script type="text/javascript">
    2.         jQuery(document).ready(function(){
    3.            
    4.             $("#author, #email, #submit").addClass("invisible");
    5.            
    6.             $("#comment").click(function(){
    7.                 if( $("#author, #email, #submit").hasClass("invisible")){
    8.                     $("#author, #email, #submit").removeClass("invisible");
    9.                 }
    10.             });
    11.            
    12.             $("#submit").click(function(){
    13.                 if( !$("#author, #email, #submit").hasClass("invisible")){
    14.                     $("#author, #email, #submit").addClass("invisible");
    15.                 }
    16.             });
    17.         });
    18.     </script>
    Über die Klasse invisible wird den Elementen einfach ein display:none; zugewiesen. Vielleicht kanns ja noch jemand mal brauchen :)
     
    #9      
  10. cythux

    cythux Aktives Mitglied

    Dabei seit:
    10.01.2008
    Beiträge:
    1.489
    Geschlecht:
    männlich
    Ort:
    Waimes (Weismes), Belgien
    Software:
    PS CC 2014, Lightroom 5 Aptana Studio 3, ST2/3, SASS+COMPASS
    Kameratyp:
    Canon EOS 1200D
    Zugriff auf Kommentar Textarea
    #10      
x
×
×