webForumDet fria alternativet

Två olika formulär, ett funkar bara?

HTML & CSS

11 svar · 626 visningar · startad av Tulork

Medlem sedan aug. 2004903 inlägg
Frågan#1

Undrar om det finns någon begränsing på hur många formulär man kan köra på en sida? Använder två stycken formulär, varav endast det ena fungerar.

Jag använder mig av javascript för att fylla ut en drop down med info, beroende på vilket värde den får från en annan dropdown lista... Det funkar fint om man endast kör det formuläret. Om jag lägger till ett formulär på sidan, så slutar javascriptet att funkar. Verkar som den inte längre vet var den ska hämta datan när jag väljer i dropdownlistorna.

Kan inte skicka koden, väldigt många rader. Men börja med att svara på om det teoretiskt sätt inte ska vara några problem, så ska jag se om jag kan banta ner det.

Medlem sedan aug. 20039 340 inlägg
#2

Teoretiskt sett ska det inte vara något problem. Kolla om du eventuellt har några namnkrockar. Sen kan ju skriptet vara dåligt utformat också.
För övrigt: Många rader kod är inget problem här på wF eftersom kodrutan har en maxhöjd och får en scrollbar om man kommer över den maxhöjden.
Tyvärr behövs det nog iaf någon kod att kika på för att kunna analysera problemet närmare. Utifrån vad jag kan läsa i ditt inlägg kan problemet bero på i princip vad somhelst.

Medlem sedan aug. 2004903 inlägg
#3

Fick banta ner det RIKTIGT rejält, får ju bara va 10 000 tecken. Hur som helst.. om jag tar bort det första formuläret (sökformuläret) så funkar det andra, men inte om båda ligger uppe samtidigt. Den vill inte hämta informationen från arrayen med yrken (arrayen är nerbantad, är egentligen upp till [22]).

Sen vet jag att table strukturen igentligen är fel och att form inte ska ligga så, men det spelar ingen roll vart jag lägger formulären, det funkar ändå inte.

<table cellpadding="0" cellspacing="0" border="0" id="bar">
<form method="post" action="index.php">
<tr>
<td width="168" align="left" valign="middle">
<input type="text" name="search" class="sok" value="Sök yrke" onfocus="if (this.value=='Sök yrke') this.value='';" />
</td>
<td width="592" align="left">
<input type="hidden" name="sok" />
<input type="image" src="pic/dsgn/sok_knapp.png" name="sok_image" style="margin-top:3px;" />
</td>
</form>
<td width="350" align="right" valign="middle">
<a href="?skicka"><img src="pic/dsgn/referens_knapp.png" alt="Skicka referens" border="0" style="margin-right:7px; margin-top:2px;" /></a>
<a href="#"><img src="pic/dsgn/knapp.png" alt="Skicka referens" border="0" style="margin-right:7px; margin-top:2px;" /></a>
</td>
</tr>
</table>
<script type="text/javascript">
function checkform (form )
{
	if (form.kategori.value=="0"){
	alert( "Välj en kategori");
	form.kategori.focus();
	return false ;
}
return true ;
}
</script>
<script type="text/javascript">
      <!--
      function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;
      }
      //-->
   </script>
   <form method="post" action="index.php?skicka=true" onsubmit="return checkform(this);" name="form2">

<table cellpadding="5" cellspacing="7" border="0" class="formular2">
<tr>
<td valign="top" align="left">
	<strong>Yrkesområde</strong><br />
    <select class="select" name="kategori" onchange="fillSelByName(this.selectedIndex,'jobs')">
	<option value="0">Välj yrkesområde</option>
	<option value="1">Administration</option>
	<option value="2">Bygg &amp; Anläggning</option>
	<option value="3">Data/IT</option>
	<option value="4">Drift &amp; Underhåll</option>
	<option value="5">Ekonomi &amp; Finans</option>
	<option value="6">Forskning/vetenskap</option>
    <option value="7">Försäljning</option>
	<option value="8">Friskvård/Kroppsvård</option>
	<option value="9">Hantverkare</option>
	<option value="10">Hotell/Restaurang</option>
	<option value="11">Industri/Tillverkning</option>
	<option value="12">Juridik</option>
	<option value="13">Media/Kultur</option>
    <option value="14">Miljövård</option>
	<option value="15">Naturbruk</option>
	<option value="16">Sjukvård/Omsorg</option>
	<option value="17">Pedagogiskt arbete</option>
	<option value="18">Säkerhetsarbeten</option>
	<option value="19">Socialt arbete</option>
	<option value="20">Teknik</option>
	<option value="21">Transport</option>
</select>
</td>
<td valign="top" align="left">
<strong>Yrke</strong><br />
<select class="select" id="jobs" name="jobs">
<option value="">Inget valt</option>
</select>

<script type="text/javascript">
var jobs = [];
jobs[0] = ["Inget valt"];
jobs[1] =["Arbetsförmedlare","Arkiverare","Assistent","Chefssekreterare","Dataregistrerare","Handläggare","Kontorspersonal","Receptionist","Rekryterare","Sekreterare","Telefonist"]; //Administration
function fillSelByName(i,name) {
 var sel = document.forms[0].elements[name];
 if (sel){
  sel.options.length = 0;
  for (var j=0;j<jobs[i].length;j++)
   sel.options[j] = new Option(jobs[i][j],j);
 }
	
}
</script>
<td valign="top" align="left">
<strong>Län</strong><br />
<select class="select" name="lan">
<option value="">Välj län</option>
<option value="Blekinge">Blekinge</option>
<option value="Dalarna">Dalarna</option>
</select>
</tr>
</td>
<tr>
<td valign="top" align="left" colspan="2">
¤ <a href="pages/faltb.php" onclick="openwindow(this.href); return false;">Guide / Referensregler</a> - Popup<br />
¤ <a href="pages/forslag.php" onclick="openwindow(this.href); return false;">Mitt yrke finns inte</a> - Popup
</tr>
<tr>
<td valign="top" align="left">
<input type="hidden" value="75" name="randcheck" />
<strong>Din ålder </strong>(ex 23)<br />
<em>Endast siffror</em><br />
<input type="text" name="alder" onkeypress="return isNumberKey(event)" class="fieldT" style="width:135px;" /> år
</td>

<td align="left">
<strong>Yrkesverksamma år </strong>(ex 5)<br />
<em>Endast siffror</em><br />
<input type="text" name="ar" onkeypress="return isNumberKey(event)" class="fieldT" style="width:135px;" /> år
</td>
<td align="left">
<strong>Bruttolön (före skatt)</strong><br />
<em>Endast siffror</em><br />
<input onkeypress="return isNumberKey(event)" type="text" name="lon" class="fieldT" style="width:135px;" /> kr/mån
</td>
</tr>
<td align="left" colspan="3">
<strong>Kön</strong><br />
<select class="select" name="kon" style="width:90px;">
<option value="Man">Man</option>
<option value="Kvinna">Kvinna</option>
</select><br /><br />
<strong>Jag har</strong><br />
<input type="checkbox" name="checkRules" value="yes" /> läst, förstått och godkänner <a href="pages/faltb.php" onclick="openwindow(this.href); return false;">reglerna</a>.
<br />
<input type="checkbox" name="checkFields" value="yes"/> kontrollerat att alla fält är ifyllda med korrekt information.
<br /><br />
Vad är <span style="color:red;">10+75</span> ?<br />
<em>Endast siffror</em><br />
<input onkeypress="return isNumberKey(event)" type="text" name="rand" class="fieldT" /><br /><br />

<input type="submit" name="done" value="skicka" style="margin-top:5px; border-color:#666666; border-style:solid; border-width:1px; background-color:#FFFFFF;" />
</td>
</tr>
</table>
</form>
Medlem sedan juni 20014 421 inlägg
#4

När du skriver såhär:
var sel = document.forms[0].elements[name];

anropar du det första formuläret på sidan. Lägger du in ett till formulär innan det du har nu kommer document.forms[0] peka på det. Namnge formuläret istället och gå via:
document.namnet_på_formen.element[namnet_på_elementet];

Medlem sedan aug. 2004903 inlägg
#5

vi provar

Medlem sedan aug. 2004903 inlägg
#6

Jamen se där.... nu funkar det. Trevligt att du alltid kan fixa mina problem colione :)

Medlem sedan jan. 200363 inlägg
#7

Hej!
Konstigt nog har jag ett snarlikt problem - såg att er konversation är rykande färsk!
;-)

Jag har också TVÅ formulär på samma .htm-sida - men de är "rena" html-formulär - inga speciella script, alltså.
Mitt problem är att ett klick på en av de separata Submit och Reset inverkar på BÅDA formulären.
Hur gör jag för att separera de båda formulären på samma sida?
Går det?

Det verkar inte spela någon roll att jag döper dem olika, form_ab respektive form_en.
<form name="form_ab" method="post" action="http://formmail.hemsidan.se"/>
<form name="form_en" method="post" action="http://formmail.hemsidan.se"/>

Beror det på att samma action (som webhotellet tillhandahåller) används?

Kan jag styra följande tags, mer än jag gör, t.ex. nyttja form_ab och form_en?
<input type="reset" name="form_ab" id="id_reset_ab" value="Rensa"/>
<input type="submit" name="form_en" id="id_skicka_en" value="Skicka"/>
<input type="reset" name="form_ab" id="id_reset_ab" value="Rensa"/>
<input type="submit" name="form_en" id="id_skicka_en" value="Skicka"/>
Jag får det inte att fungera...

Vad ska jag göra?

Medlem sedan juni 200032 967 inlägg
#8

Du kan inte ha formulär i formulär, utan de måste ligga separat.
Det spelar ingen roll att de har samma action.

Medlem sedan jan. 200363 inlägg
#9

Ursäkta otydligheten.
Jag har INTE nästlat formulären, utan de "ligger efter varandra" i en och samma tabell, och på samma htm-sida.
Men nu kom jag på en sak - jag har ingen avslutande </form> - ska man ha det?
Eller är taggen...
<form name="form_en" method="post" action="http://formmail.niceathome.se"/>
...redan avslutad, iochmed "/" på slutet?

Medlem sedan juni 200032 967 inlägg
#10

Men nu kom jag på en sak - jag har ingen avslutande </form> - ska man ha det?

Ja - har du inte det ligger alla fälten i det första formuläret, dvs dina formulär är nästlade. :)

Om du ser till att avsluta dina båda formulär på rätt ställen så tror jag det kommer fjunka finfint.

mvh

Medlem sedan jan. 200363 inlägg
#11

Japp!
TACK för din hjälp till självhjälp!
</form> var "rätt" bra att ha...!
;-)

Medlem sedan juni 20014 421 inlägg
#12

Ge oss hela sidan som det rör och lägg koden mellan [kod] och [/kod]

RED -> snooze-lose

275 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)