Jag förstår inte riktigt varför du inte bara gör en sammanställning av checkboxarna när du hämtar in datat från formuläret istället?
Som svar på huvudfrågan: http://www.webforum.nu/showthread.php?s=&postid=467066#post467066
mvh
13 svar · 474 visningar · startad av dr_damir
Hejsan!
Jag ska skriva ett formulär med ett antal "checkboxar". Dessa ska sedan postas och värdena som skickas iväg ska hittas i min databas.
Jag tänkte då lägga ihop värdena, eller rättare sagt orden, innan jag skickar iväg dem som ett värde föratt göra en fulltext sökning.
Jag tänkte då att man kanske skulle kunna göra detta med php med hjälp utan onclick i varje checkbox.
Alltså anropa en funktion genom onclick i formuläret.
Någon som vet om det går?
tack!
Jag förstår inte riktigt varför du inte bara gör en sammanställning av checkboxarna när du hämtar in datat från formuläret istället?
Som svar på huvudfrågan: http://www.webforum.nu/showthread.php?s=&postid=467066#post467066
mvh
hur menar du det skulle gå till?
det är väl lättare att göra det direkt annars kommer ju de olika checkboxarna ta ut varandra. eftersom det har samma namn men olika värde.
Eller är det då smartare att även ha olika namn på de olika checkboxarna?
Om du namnger enligt checkboxnamn[] så skickas alla ikryssade värden som en array om jag inte minns fel.
ok, jag ger checkboxarna name="checkboxar[]". Så borde de icheckade boxarnas värde lägga sig efter varandra i checboxar-arrayen. Har jag det rätt så långt?
Så då borde jag kunna skriva ut checkboxar[0] osv. ?
så checkboxarna ligger i en array men jag vet inte hur jag kan skriva ut de olika värdena i arrayen...
Testa att skriva ut hela post-variabeln så ser du vad som har skickats.
<pre>
<?
print_r($_POST);
?>
</pre>
tja. Jo det funkar att posta och lägga värdena i en array men jag vill inte använda Post. Jag vill använda Get.
Så, med javascript borde det gå att lägga ihop värdena av checkboxarna innan jag skickar iväg dem som ett värde.
Någon som har några/något förslag på hur ett sådant skript skulle kunna se ut?
tack!
dr_damir skrev:
Så, med javascript borde det gå att lägga ihop värdena av checkboxarna innan jag skickar iväg dem som ett värde.
Varför skapar du en tråd, där du tror att lösningen består av ett javascript, i phpforumet?
Tråden flyttas från PHP!
Jadu Peeer, där blev det fel från min sida. Ursäkta.
Men jag har kollat runt lite på fantastiska WebForum och funnut denna: http://www.webforum.nu/showthread.php?s=&forumid=24&threadid=120727
Jag skulle dock vilja summera strängar, och inte variabler. Javascript är inte min starka sida men många av er är!
hej
Löste problemet genom att använda concat funktionen.
Koden ser ut så här nu:
function calcSum( p_form )
{
var sum = \" \";
for ( var i = 0; i < p_form.elements.length; i++ )
{
if ( p_form.elements[i].type == \"checkbox\" && p_form.elements[i].checked )
sum = sum.concat( p_form.elements[i].value ) + \" \";
}
document.getElementById( \"totalSum\" ).innerHTML = \"Summa: \" + sum;
}
Värdena för mina checkboxar eller inmatningsfält summeras och sidan laddas inte om.
Men jag frågar, hur gör jag då jag vill skicka iväg ett Javascript värde med min submit knapp?
Kanske att man har onclick på sin skicka-knapp också eller?
Men jag fröstår ite hur jag tar emot värdet på nästa sida?
Om jag skickar med get, vad heter isf den get jag ska ta emot?
Det jag skulle vilja göra i detta fallet är att skicka med javascript variabeln sum med folmuläret, typ action=index.php?sum men det går inte om jag förstår rätt.
Jag har testat med att lägga till en button som ska skicka mig till en speciell sida, jag tänkte att jag kunde skriva in namnet där, genom scriptet så att säga, men att addera sum här har även det misslyckats...
attans!
jag tänkte såhär, fastän det inte funkar så visar jag det...
var sum = \" \";
for ( var i = 0; i < p_form.elements.length; i++ )
{
if ( p_form.elements[i].type == \"checkbox\" && p_form.elements[i].checked )
sum = sum.concat( p_form.elements[i].value ) + \" \";
}
document.getElementById( \"totalSum\" ).innerHTML = \"Summa: \" + sum;
}
window.location=\"min adress...index.php? + sum\";
}
}
Skapa ett dolt fält (type="hidden") i formuläret som du lagrar variabeln i.
p_form.namn_på_dolt_fält.value=sum;
Se granntråden hur du använder spangos QueryString objekt för att läsa av variabeln (fältet) på nästa sida.