document.getElementsByTagName geeft volgens mij iets van een object mee waar je niet zo maar mee kan werken. Ik had volgens mij eens zoiets met het in een keer veranderen van de z-index van alle input-tags...
* Zoekt in het archief *
Het is dus geen object, maar een collection. :)
Ik gebruikte dit:
function collectionToArray(col) {
a = new Array();
for (i = 0; i < col.length; i++)
a[a.length] = col[i];
return a;
}
function toonmenu(elmnt) {
document.getElementById(elmnt).style.visibility="visible";
var inputs = collectionToArray(document.getElementsByTagName("input"));
for(i=0;i<inputs.length;i++) {
if(inputs[i].type == 'text' || inputs[i].type == 'password' || inputs[i].type == 'button' || inputs[i].type == 'submit') {
inputs[i].style.zIndex = -1;
}
}
}
javascript: function collectionToArray(col) { a = new Array(); for (i = 0; i < col.length; i++) { a[a.length] = col[i]; } return a; } var UBBtextareas = collectionToArray(document.getElementsByTagName('textarea')); for (var i =1;i< UBBtextareas.length; i++) { UBBtextareas[i].rows += 1; }
oftewel:
javascript:
function collectionToArray(col)
{
a = new Array();
for (i = 0; i < col.length; i++)
{
a[a.length] = col[i];
}
return a;
}
var UBBtextareas = collectionToArray(document.getElementsByTagName('textarea'));
for (var i =1;i< UBBtextareas.length; i++)
{
UBBtextareas[i].rows += 1;
}
<?php
var x = document.getElementsByTagName ('textarea');
var n = x.length;
for (i = 0; i < n; i++) {
if (x[i].name == 'msg') {
x[i].rows += 1;
}
}
?>
Oké, dat heb ik er dus van gemaakt, oftewel:
javascript: var x = document.getElementsByTagName ('textarea'); var n = x.length; for (i = 0; i < n; i++) { if (x[i].name == 'msg') { x[i].rows += 1; } }
Werkt ook niet.
Ik krijg namelijk een wit scherm met
36
erop. De rijen zijn in het begin 35, en als ik dus op die bladwijzer klik krijg ik 36 te zien.
Wauw bedankt! Nu nog even friemelen om het in een bladwijzer te doen, zodat ik het op PHPHulp kan gebruiken.
Als ik er dit van maak:
javascript: var x = document.getElementsByTagName ('textarea'); var n = x.length; for (i = 0; i < n; i++) { if (x[i].name == 'msg') { x[i].rows += 1; } }
Dan zie ik even snel de textarea langer worden, maar dan wordt de hele pagina wit en zie ik 36 staan. Moet ik ergens een return: false; doen? Moet ik het daarvoor in een functie zetten?
javascript:
function langer() {
var x = document.getElementsByTagName ('textarea');
var n = x.length;
for (i = 0; i < n; i++)
{
if (x[i].name == 'msg')
{
x[i].rows += 1;
}
}
return false;
}
langer();
Ik heb hem geïnstalleerd, maar zie niet echt hoe ik nu mijn textarea groter kan maken :-$
[edit]Mijn script werkt nu ook. Wel met een error van FireBug, maarja. Het is toch alleen voor mij. Je moet achteraan gewoon nog een functie plaatsen, zoals exit();. firebug zegt dan wel: ERROR: exit() is undefined[/edit]
[edit]Heb nu iets andere manier, je definiëert een functie, en doet in die funtie niks. Die functie voer je achteraan uit. Dit is het uiteindelijke resultaat:
[/edit]
javascript: function lol() { } function langer() { var x = document.getElementsByTagName ('textarea'); var n = x.length; for (i = 0; i < n; i++) { x[i].rows += 1; } return false; } langer(); lol();