Page 1 of 1
JavaScript: alle checkbox / checked setzen ...
Posted: 2003-10-07 15:42
by xamibor
hi,
bekomme gerade einen Schrikrampf ....
wie bekommt man so eine einfache functiom hin das wenn mann z.B. Alles Markieren drückt alle checkboxen innerhalb eines Formulares eine hacken setzt?
Danke für euren selischen und praktischen beistand.
Gruß
Andreas
Re: JavaScript: alle checkbox / checked setzen ...
Posted: 2003-10-07 15:54
by gladi
Guck dir das hier mal an:
Code: Select all
/**
* Checks/unchecks all tables
*
* @param string the form name
* @param boolean whether to check or to uncheck the element
*
* @return boolean always true
*/
function setCheckboxes(the_form, do_check)
{
var elts = (typeof(document.forms[the_form].elements['selected_db[]']) != 'undefined')
? document.forms[the_form].elements['selected_db[]']
: (typeof(document.forms[the_form].elements['selected_tbl[]']) != 'undefined')
? document.forms[the_form].elements['selected_tbl[]']
: document.forms[the_form].elements['selected_fld[]'];
var elts_cnt = (typeof(elts.length) != 'undefined')
? elts.length
: 0;
if (elts_cnt) {
for (var i = 0; i < elts_cnt; i++) {
elts[i].checked = do_check;
} // end for
} else {
elts.checked = do_check;
} // end if... else
return true;
} // end of the 'setCheckboxes()' function
Ist ein Ausschnitt aus der libraries/functions.js von phpMyAdmin.
Aufrufen tust du das ganze mit
Code: Select all
setCheckboxes('***FormName***', true);return false;
und steckst dies dann in ein onClick o.ä.
bittäschööön. :D
Re: JavaScript: alle checkbox / checked setzen ...
Posted: 2003-10-07 16:09
by xamibor
Mann ich habe echt eine blokade .... scheint am wetter hier zu liegen ... es regnet ....
Was ich gemacht habe ....:
die js function eingebaut. OHNE was dran zu ändern.
Am ende des formulars folgenden Text "aktiv" mit einem onClick Event: onClick="setCheckboxes('messageList', true);"
die checkboxen haben alle den selben namen "Mid" ....
un es geht net ....
ich sollte straßenfeger werden :-(
Gruss
Andreas
Re: JavaScript: alle checkbox / checked setzen ...
Posted: 2003-10-07 16:21
by gladi
Gibt's 'nen JS Fehler?
Poste mal den exakten Code / Implementierung.
Re: JavaScript: alle checkbox / checked setzen ...
Posted: 2003-10-07 16:24
by xamibor
php Datei ein Auszug:
Code: Select all
echo "<form name="messageList" method="post" action=""> <table width="100%" border="0" cellpadding="2" bordercolor="#FFFFFF">
<tr bgcolor="#FFCC66">
<td width="80">Freischalten</td>
<td width="30">ID</td>
<td>Titel</td>
<td width="50">&</td>
<td width="50">&</td>
</tr>";
while(list($lid, $cid, $sid, $title, $url, $description, $name, $email, $submitter, $filesize, $version, $homepage) = sql_fetch_row($result, $dbi)) {
if ($submitter == "") {
$submitter = _NONE;
}
echo "<tr>
<td><div align="center">
<input type="checkbox" name="Mid" value="$lid">
</div></td>
<td>$lid</td>
<td>$title</td>
<td>bearbeiten</td>
<td>löschen</td>
</tr>";
}
echo " </table> <br><a href="#" onClick="setCheckboxes('messageList', true);return false;">Alle markieren</a> - <a href="javascript:ClearAll();">Markierungen löschen</a>
</form>";
CloseTable();
echo "<br>";
} else {
}
die js datei auzug:
Code: Select all
function setCheckboxes(the_form, do_check)
{
var elts = (typeof(document.forms[the_form].elements['selected_db[]']) != 'undefined')
? document.forms[the_form].elements['selected_db[]']
: (typeof(document.forms[the_form].elements['selected_tbl[]']) != 'undefined')
? document.forms[the_form].elements['selected_tbl[]']
: document.forms[the_form].elements['selected_fld[]'];
var elts_cnt = (typeof(elts.length) != 'undefined')
? elts.length
: 0;
if (elts_cnt) {
for (var i = 0; i < elts_cnt; i++) {
elts[i].checked = do_check;
} // end for
} else {
elts.checked = do_check;
} // end if... else
return true;
} // end of the 'setCheckboxes()' function
eine js fehler gibt es nicht.
Gruss
Andreas
Re: JavaScript: alle checkbox / checked setzen ...
Posted: 2003-10-07 16:54
by gladi
Mmmmm, ich glaub die JS Funktion spricht die Boxen gar nicht an, WEIL die halt die falschen Namen haben. ;)
Also:
Entweder in der JS Function "selected_db[]" durch "mid[]" ersetzen, oder deine Boxen alle "selected_db[]" benennen.
Was hier wichtig ist: Die Boxen müssen einen Array bilden. Also besser wäre hier:
Code: Select all
<input type="checkbox" name="mid[]" value="$lid">
Für's Deselektieren müsste
Code: Select all
setCheckboxes('messageList',FALSE);
funktionieren, da brauchste keine extra Funktion....
PS: Gab es nicht eh schon 'nen Fehler als du probiert hast mehrere Values zu übergeben in derselben Variable!? :ugly: -> Array ist da besser ;-)