Gelöst: Webform | Kann man jQuery abstellen?
Eingetragen von hermanns (90)
am 06.05.2008 - 12:49 Uhr in
am 06.05.2008 - 12:49 Uhr in
Hallo Zusammen,
hab bei einer Website das Webform-Modul eingesetzt. Soweit funktioniert auch eigentlich alles. Versuche nun per CSS das ganze optisch etwas anzupassen. Bei den normalen Text-Feldern auch kein Problem. Allerdings bei den Text-Areas. Die Darstellung wird immer auf volle Breite gezogen, und der User kann die Höhe der Textarea selbst anpassen. Das brauche ich für dieses Formular aber nicht. Ich vermute dass das Problem mit jQuery und der dazu geladenen textarea.js zusammenhängt. Wie kann ich das abstellen?
- Anmelden oder Registrieren um Kommentare zu schreiben
resizable
am 06.05.2008 - 13:54 Uhr
Moin!
Du müsstest die Klasse "resizable" der textarea entfernen. Das könntest Du in der entsprechenden node-x.tpl.php machen, indem Du folgenden Code hinzufügst:
<?php
drupal_add_js('$(function() {
$('textarea').removeClass('resizable');
});');
?>
Allerdings kann es sein, dass dieser Code zu spät - also nach dem Code in textarea.js - ausgeführt und somit wirkungslos ist. Dann solltest Du das schon irgendwie in der page.tpl.php machen (je nachdem, welche Seite aufgerufen wird).
Oder Du weisst, wie die textarea genau heisst (z.B. "edit-comment"). Dann kannst Du in der page.tpl.php im head einfach den JS-Code (ganz oben) einfügen.
<script type="text/javascript">
$(function() {
$('textarea').removeClass('resizable');
});
</script>
hth,
Stefan
Klingt gut!
am 07.05.2008 - 08:53 Uhr
Danke Stefan, klingt zwar gut, allerdings erkennt der Parser die Anweisung nicht.
Die jQuery-Datei ist auf jedenfall mit eingebunden, allerdings wird nichts ausgegeben.
Wenn ich deine PHP-Anweisung einsetze, bekomme ich auch eine Fehlermeldung.
Hab jetzt eine zusätzliche page-node-3.tpl.php eingerichtet. Soll deine Answeisung vor oder nach den Scripts eingebunden werden?
Sorry, kenn mich mit jQuery nicht wirklich aus, ist in deiner Anweisung die Textarea $('textarea') die ID oder der Tag gemeint?
Danke schonmal.
Dirk
Nebenbei, hab in meiner letzten Version die Scripts einfach alle Entfernt, dann gehts natürlich, da ich sonst auf der Seite keine anderen Scripts brauche. Ist aber wohl eher die brachiale Art und Weise und weniger optimal.
_______________
Nur Kritik bringt einen weiter.
jQuery
am 07.05.2008 - 09:39 Uhr
Danke Stefan, klingt zwar gut, allerdings erkennt der Parser die Anweisung nicht.
Die jQuery-Datei ist auf jedenfall mit eingebunden, allerdings wird nichts ausgegeben.
Wenn ich deine PHP-Anweisung einsetze, bekomme ich auch eine Fehlermeldung.
Und welche genau?
Hab jetzt eine zusätzliche page-node-3.tpl.php eingerichtet. Soll deine Answeisung vor oder nach den Scripts eingebunden werden?
Davor. Sonst wird ja erst der Code in textarea.js ausgeführt und dann dieser Code. Und das wollen wir ja nicht :-)
Sorry, kenn mich mit jQuery nicht wirklich aus, ist in deiner Anweisung die Textarea $('textarea') die ID oder der Tag gemeint?
Wenn Du die Id hast (z.B. "comment-edit", kannst Du
$('#comment-edit')
schreiben. Dann wird das nur für diese eine spezielle textarea ausgeführt.Du könntest natürlich auch auf der speziellen Seite (oder für diesen Node-Typen) die textarea.js entfernen. Dann kann man die Grösse auch nicht mehr ändern.
Dazu musst Du in der page.tpl.php die Variable
$scripts
1 anpassen. Also einfach mal schauen, wie der script-Tag im HTML aussieht und das dann aus$scripts
rausschmeissen:<?php
if ($node->type = 'dingens') {
$scripts = str_replace('<script type="text/javascript" src="/misc/textarea.js"></script>', '', $scripts); // ungetestet
}
?>
hth,
Stefan
Und weiter gehts!
am 04.06.2008 - 15:52 Uhr
Hallo Stefan,
hab etwas weiter gemacht. Jetzt gehts! So funktionierts:
<?php
$myjs = "
$(document).ready( function(){
$('div').removeClass('resizable-textarea');
});";
drupal_add_js($myjs, 'inline');
?>
Nur Kritik bringt einen weiter.