monAmourMedlem sedan dec. 2002270 inlägg
har problem med följande script:
function delete() {
if (confirm("Delete selected?")) {
for (var i=0; i<document.ftpMan.elements.length; i++) {
var obj = document.ftpMan.elements[i];
if (obj.name == "dir") {
//delete directory
var name = obj.value;
top.location.href = "ftp.php?action=delete&type=dir&name="+ name +"&loc=<? echo($dir); ?>";
}
else if (obj.name == "file") {
//delete file
var name = obj.value;
top.location.href = "ftp.php?action=delete&type=file&name="+ name +"&loc=<? echo($dir); ?>";
}
else {
return false;
}
}
}
else {
return false;
}
}
Har i mitt dokument check boxar som ser ut så här t.ex.:
<form name="ftpMan">
<input type="checkbox" name="file" value="/neoshop/index.php">
<input type="checkbox" name="dir" value="/neoshop/sys_images">
</form>
Det jag vill göra är att loopa igenom alla checkboxarna i mitt dokument och plocka värdet på dem som är "checkade" för att sedan kunna skicka dem i en querystring med mitt php skript?
Hur gör jag för att loopa igenom korrekt och plocka namnen och värdena?
monAmourMedlem sedan dec. 2002270 inlägg
Har löst del 1 nu, funktionen kanske inte skulle hete delete() eftersom det är en inbyggd funktion i javascript, så det är löst.. felet nu är att den alltid väljer det sista elementet av checkboxarna även om jag har kryssat i en annan..
Så här ser min querystring ut nu:
localhost/ftp_client/ftp.php?action=delete&type=dir&name=/neoshop/test_files&loc=/neoshop/
colioneMedlem sedan juni 20013 386 inlägg
Här kommer en helt otestad psudokod som du kan prova....
Vad den gör är att den går igenom fälten och letar upp checkboxar i formuläret ftpMAn. Därefter lägger den in vilken typ det är och separerar dem med ett lostreck "|" likadant gör den med namnet därefter bygger den upp en querystring som bör se ut såhär (med hur många värden som helst):
ftp.php?action=delete&type=[red]typ_värde1[/red][blue]|[/blue][red]typ_värde2[/red]&name=[red]namn_värde1[/red][blue]|[/blue][red]namn_värde2[/red]&loc=/neoshop/
Sedan kan du på serversidan splitta querystring värdet på type och name vid lodstrecket och på så sätt få de olika värdena att höra till varandra..alltså namn_värde1 är alltså värdet till typ_värde1 och får samma indexsiffra (0 i det här fallet) vid en splittning.
Vad scriptet inte gör är att skicka en vidare....det är mer tänkt som en motor för en querystring uppbyggnad....
Om du vil hämta ut querystringen gör du det genom att kalla på variabeln strqString
<script language="javascript" type="text/javascript">
var strqString="ftp.php?action=delete&type="
var strqString2=""
var strType=""
var strName=""
function makeQS()
{
for (i=0;i<document.ftpMan.elements.length;i++)
{
var chBox=document.ftpMan.elements[i]
if (chBox.checked)
{
if (strType="")
{
strType=chBox.name
}
else
{
strType+="|"+chBox.name
}
if (strName="")
{
strName=chBox.value
}
else
{
strName+="|"+chBox.value
}
}
strqString2="&name="+strName+"&loc=<? echo($dir); ?>"
strqString+=strType+strqString2
}
</script>