har ett formulär där jag skriver in information om olika fisketurer jag gör.
Formuläret är uppdelat så här
fisk
bild
subject
meddelande
Det jag nu vill lägga till är flera grejer ibland, det jag tänker på är fisk
information :D
datum
typ
vikt
fångstätt
plats
Databasen jag använder är uppbyggd som ett forum då varje fisk har ett "turid"
Min fråga är jag vet ju inte hur många fiskar jag får dvs hur inskrivningstabellen
ska se ut?
Det jag hade tänkt är att jag skriver in själva turen sen under där så finns det
en dropdown "Antal fiskar?!" med värden 0-15
Väljer jag 12 så ska...
datum
typ
vikt
fångstätt
plats
komma fram 12 ggr och sen när jag trycker på submit läggs allt in i databasen...
dvs en realtidsuppdatering av formuläret hur ska detta gå till? Måste jag lägga in
"turinformationen" i sessioner och sedan göra en vanlg if satts eller kan man på något
sätt få en tabell att replikeras automatiskt ett visst antal ggr...?
Känns lite dummt o ha en stor if-satts i koden... och mcyket onödigt som kanske alrig kommer visas samt skriva in i sessioner innan man väljer antal fiskar så att man får fram rätt antal fiskar samt att man då skriver in i fisk, bild, subject och meddelande
från sessionerna innan man slutligen skiver in sakerna i databasen.
Det enkla svaret:
Skapa fisketuren, sedan lägger du till fisk, var för sig, dvs 12ggr om, där du väljer vilken fisketur resp fisk hör till (kan ju vara 'hidden' på något sätt också)
Det svåra svaret:
Jobba med OnChange() på dd'n för fiskarna, där du då visar de 12 lagerna med alla fält som behövs för resp fisk. Alla 15 lagerna skapas när sidan besöks, dvs de läggs i lager som är hidden.
Men, vad händer om du har turen att få 16 fiskar? :) Då måste du justera koden för att få in din bonusfisk.
I det enkla svaret behövs det inte.
Har gjort liknande funktion i ett fall, men kommer inte ihåg var.
Okie, men jag vill nog ändå försöka få in allt på en sida... så frågan är om inte en iF satts ändå är lösningen... :/
Skriver in turen
När jag väljer antalfiskar så läggs turens info in i en session genom att jag föflyttas ner i if-sattsen. Rätt antal fiskar visas samt att jag skiver ut sessionen in i fisketuren, så att jag ser det jag skrivit. Alternativt sumpar sessionerna lägger in det i databasen direkt och skiver ut skiten i formuläret (typ en redigering) :P
skiver in fiskarna sort vikt osv (lätt om jag lägger in det första i databasen genom att jag får rätt turid på fiskarna)
Letade lite, och fann det jag letade efter. Jag använder detta för att enable n antal textrutor där man fyller i alttexter beroende på hur många (av tre) språk man väljer.
function alttextval(){
var valt = 0;
var dk_valt = false;
var se_valt = false;
var de_valt = false;
var sprak = "";
//skapa variabler beroende på språl-val
for (i = 0; i < form.tema_id2_sprak_id2.length; i++){
if (form.tema_id2_sprak_id2.options[i].selected){
//räkna språket endast en gång
var tema_sprak_value = form.tema_id2_sprak_id2.options[i].value;
var sprak_id = tema_sprak_value.slice(tema_sprak_value.lastIndexOf("-")+1);
if ((!dk_valt) && (sprak_id == 2)){
valt++
dk_valt = true;
sprak += "Danish,"
}
else if ((!se_valt) && (sprak_id == 5)){
valt++
se_valt = true;
sprak += "Swedish,"
}
else if ((!de_valt) && (sprak_id == 8)){
valt++
de_valt = true;
sprak += "German,"
}
}
}
//disable alla först, om väljer bort redan vald
for (i = 2; i > -1; i--){
form.alttext[i].disabled = true;
form.alttext[i].value = "[locked]";
document.all["txt_alttext"][i].innerHTML = "";
}
//gör till array
arr_sprak = new String(sprak).split(",")
//avmarkera valt antal alttext. valt-1 eftersom valt<=3, och [] är <=2
for (i = valt - 1; i > -1; i--){
form.alttext[i].disabled = false;
form.alttext[i].value = "";
document.all["txt_alttext"][i].innerHTML = "(" + arr_sprak[i] + ")";
}
}
Alt-text #1
<input type="text" name="alttext" size="50" value="[locked]" disabled> <span id="txt_alttext"></span>
Alt-text #2
<input type="text" name="alttext" size="50" value="[locked]" disabled> <span id="txt_alttext"></span>
Alt-text #3
<input type="text" name="alttext" size="50" value="[locked]" disabled> <span id="txt_alttext"></span>
Hoppas du får ut något begripligt ur detta. Första if-satsen är inte så viktig för dig, det är de två andra som är intressanta.