WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   form i <div> (https://www.wn.se/forum/showthread.php?t=1041420)

TonyL 2010-04-09 07:46

form i <div>
 
Hej
Jag har för mig att form inte fungerar i table, så jag gjorde div table: men vill sig inte.
Länken finns där, men funktionen funkar inte, dvs den går inte vidare till nästa sida,
ingen länkmarkering sker om jag ar muspekaren över texten, när den ligger i div.

Form funkar om jag lägger den utanför.
Det speciella med denna form är att submit "knappen" är en länk istället för knapp.

Tacksam för kodtips, vad jag nu missat.... och vad är <span> ska det användas....
Jag ar försökt finna på nätet men inte fått helt klart för mig.

echo "<div class='rowdiv'><div class='celldiv'>$ba1$ba2<br><a href='http://www.****.*****.se/uploads/$ba18'><img src='http://www.*****.se/****.bmp'ALT='mapp existerar.' /></a></div><div class='celldiv2'><img HEIGHT='78' src='http://www.****.****.se/uploads/$ba17'ALT='Fotografi' /></div><div class='celldiv3'>$ba14</div><div class='celldiv4'>$ba3$ba4$ba5$ba6$ba7$ba8$ba9</div><div class='celldiv5'>$ba10$ba11$ba12$ba13</div><div class='celldiv6'>";

echo "$starttext_old<br>$ba15$ba16";


?>

<form action="http://www.******.se/*****.php" method="post" name="frm">
<div><input type="hidden" name="foo" value="bar" />
<script type="text/javascript">
//<![CDATA[
document.write('<a href="#" onclick="document.forms[\'frm\'].submit(); return false;">submit</a>');
//]]>
</script>
<noscript>
<input type="submit" name="submit" value="submit" />
</noscript></div>
</form>

<?php
echo "</div></div>";

eliasson 2010-04-09 08:52

Va? Det är väl klart att forms fungerar bra tillsammans med tables?

Kod:

<form action="HelloWorld.html" method="POST">
<table>
<tr><td><strong>Namn</strong></td><td><input type="text" name="namn" /></td></tr>
</table>
<input type="submit" value="Skicka" />
</form>


hnn 2010-04-09 08:57

En fråga är varför du skriver ut submit texten med javascript?

En faktor jag tänker på när submit är i text, är som jag måttligt irriterar mig på (bla. hos Binero) är att man inte kan trycka retur för att posta formuläret.

tex. login formulär:
Fyll i användarnamn, tabba till lösenord sen retur.

qson 2010-04-09 09:00

En form kan ligga runt en tabell eller i en div (vet inte om den kan ligga i en tabell, tror det. åtminstone i en tabell-cell...)

Varför komplicera det med document.write?
Sen skall det vara doument.forms[0] eller document.forms[1], för det är en array, och den innehåller bara numeriska index. Du kan också använda document.getElementById för att komma åt formuläret.

Kod:

<form action="http://www.******.se/*****.php" method="post" name="frm">
<div><input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.forms[0].submit();return false;">submit</a></div>
</form>


TonyL 2010-04-09 09:14

Funkar inte, dvs ger ingen markering på muspekaren, den bryr sig inte,,,

Men sätter jag ovannämnda form, just efter de två div, så funkar det.
Nedan funkar: (men nu är den ju utanför.)
echo "$starttext_old<br>$ba15$ba16";



echo "</div></div>";
?>
<form action="http://www.******.se/*****.php" method="post" name="frm">
<div><input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.forms[0].submit();return false;">submit</a></div>
</form>
<?php


'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''' Om felet är där???
Jag vet jag såg exempel där css hade "..celldivh" fast jag gjorde bara med en punkt....
Ligger felet där eller?





Sänder med lite css
.tablediv {
position:relative; left:0px; top:1px;height:859px; width:640px;
background-color: silver;
}
.celldivh {
position: absolute; top: 0px; height:18px; left: 1px; width: 52px; background-color: azure;
}
.celldiv2h {
position: absolute; top: 0px; height:18px; left: 54px; width: 108px; background-color: azure;
}
.celldiv3h {
position: absolute; top: 0px; height:18px; left: 163px; width: 240px; background-color: azure;
}
.celldiv4h {
position: absolute; top: 0px; height:18px; left: 404px; width: 60px; background-color: azure;
}
.celldiv5h {
position: absolute; top: 0px; height:18px; left: 465px; width: 84px; background-color: azure;
}
.celldiv6h {
position: absolute; top: 0px; height:18px; left: 550px; width: 89px; background-color: azure;
}

.celldiv {
position: absolute; top: 0px; height:92px; left: 1px; width: 52px; background-color: azure;
}
.celldiv2 {
position: absolute; top: 0px; height:92px; left: 54px; width: 108px; background-color: azure;
}
.celldiv3 {
position: absolute; top: 0px; height:92px; left: 163px; width: 240px; background-color: azure;
}
.celldiv4 {
position: absolute; top: 0px; height:92px; left: 404px; width: 60px; background-color: azure;
}
.celldiv5 {
position: absolute; top: 0px; height:92px; left: 465px; width: 84px; background-color: azure;
}
.celldiv6 {
position: absolute; top: 0px; height:92px; left: 550px; width: 89px; background-color: azure;
}

.rowdiv {
position:relative; height:93px; width:800px;
}
.rowdivh {
position:relative; height:19px; width:800px;
}

qson 2010-04-09 09:22

Hur ser din HTML-kod ut? Det du visar här är lite PHP-kod blandat med HTML. Det är lättare att felsöka om vi har den genererade HTML-koden. Tryck "Visa källa" när du kollar i webbläsaren.

TonyL 2010-04-09 10:10

<div class='celldiv4'>aaaa<br>bbbb</div><div class='celldiv5'>ccccc<br>dddd<br>fffff<br>ggggg</div><div class='celldiv6'>gggggg<br>4444444444444444<br>www .hhhhhhhhhhhhh.se<form action="http://www.******.se/*****.php" method="post" name="frm">
<div><input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.forms[0].submit();return false;">submit</a></div>
</form>
</div></div>

hnn 2010-04-09 10:14

Testa istället med:

Kod:

<form action="blabla.html" id="frmSomething" name="frmSomething" method="post">
<input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.getElementById('frmSomething').submit(); return false;">Submit</a>


TonyL 2010-04-09 10:34

Fortfarande samma, nu visar jag "submit" i div funkar inte, "submit2" utanför div fungerar:

<div class='celldiv4'>aaaaa</div><div class='celldiv5'>bbb</div><div class='celldiv6'>ccccc<br>4444444444444444<br>www. 44444444.se<form action="blabla.html" id="frmSomething" name="frmSomething" method="post">
<input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.getElementById('frmSomething').s ubmit(); return false;">Submit</a>
</div></div>

<form action="blabla.html" id="frmSomething" name="frmSomething" method="post">
<input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.getElementById('frmSomething').s ubmit(); return false;">Submit2</a>
</div></div>

hnn 2010-04-09 10:37

Du har inte funderat på att avsluta form taggen?

Sen kan du inte ha samma id="" två gånger i koden, utan ID måste vara unikt.

TonyL 2010-04-09 10:52

fortfarande samma

<div class='celldiv4'>aaaaaaaa</div><div class='celldiv5'>aaaaaaaa</div><div class='celldiv6'>bbbbbbbb<br>4444444444444444<br>w ww.44444444.se<form action="blabla.html" id="frmSomethinga" name="frmSomethinga" method="post">
<input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.getElementById('frmSomethinga'). submit(); return false;">Submit</a></form>

</div></div><form action="blabla.html" id="frmSomethings" name="frmSomethings" method="post">
<input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.getElementById('frmSomethings'). submit(); return false;">Submit2</a>
</form>
</div></div>

TonyL 2010-04-09 10:54

Tack för tipsen.
Jag upptäckte just att det fungerar i Explorer men ena funkar inte i chrome.
Undrar om det är hos mig, för, jag har noterat detta förut med en annan som testade min sida.
Konstigt?

Fast det är ju knas att den är ojämn i Chrome google

qson 2010-04-09 11:03

JAg kan tänka mig att det beror på att du har ett mellanslag före submit();

tartareandesire 2010-04-09 11:13

Citat:

Ursprungligen postat av TonyL (Inlägg 20350381)
fortfarande samma

<div class='celldiv4'>aaaaaaaa</div><div class='celldiv5'>aaaaaaaa</div><div class='celldiv6'>bbbbbbbb<br>4444444444444444<br>w ww.44444444.se<form action="blabla.html" id="frmSomethinga" name="frmSomethinga" method="post">
<input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.getElementById('frmSomethinga'). submit(); return false;">Submit</a></form>

</div></div><form action="blabla.html" id="frmSomethings" name="frmSomethings" method="post">
<input type="hidden" name="foo" value="bar" />
<a href="#" onclick="document.getElementById('frmSomethings'). submit(); return false;">Submit2</a>
</form>
</div></div>

Fungerar i Firefox och Chrome. Däremot bör du kanske se över hur du nästlar dina element och se till att din kod validerar.

tartareandesire 2010-04-09 11:14

Citat:

Ursprungligen postat av qson (Inlägg 20350385)
JAg kan tänka mig att det beror på att du har ett mellanslag före submit();

Finns inget mellanslag om du citerar koden. Förmodligen en smart funktion om folk glömmer mellanslag efter punkt.

TonyL 2010-04-09 12:02

Tack alla.
jag ska kolla över nästlingen ikväll osv.

/ Tony

taz76 2010-04-09 12:18

Två formulär på samma sida kan ställa till det..

TonyL 2010-04-09 12:34

Har nu tagit bort ena, som jag i och för sig tidigare testat.
Fortfarande funkar i Internet explorer men ej i chrome och inte i firefox.
Kan det ha något att gör amed att jag alternerar med " kontra '

Ska ändra och se.

<div class='celldiv4'>aaaaaaaaa</div><div class='celldiv5'>aaaaaaaa</div><div class='celldiv6'><form action="http://www.aaaaaaa.se/blabla.html" id="frmSomethinga" name="frmSomethinga" method="post">

<input type="hidden" name="foo" value="bar" />
<a href="http://www.aaaaaa.se/blabla.html" onclick="document.getElementById('frmSomethinga'). submit(); return false;">
aaaaa</a></form>
</div></div>

fast ser ju ok, ut.

TonyL 2010-04-09 12:51

Hej

Jag tror jag funnit felet.
Det handlar förmodligen om någon eller några div som täcker/överlappar området utan att jag ser det.
Och att Internet explorer godkänner den missen, medan chrome och forefox tolkar överlappningen som gällande och då inte släpper igenom underliggande länk.
Jag la dit en vanlig länk innan och efter, och den fick samma fel.
Sorry.

Vad heter tilläggsprogrammet till Internet explorer tror jag.
Jag har haft det förut, man installerar det upp i högra hörnet, så kan kan få en "Barr" nederst och stega sig fram på sin sida för att se html och annan kod hur områden täcker/överlappar varanrda?

Utöver det funderade jag på att den dagen jag lanserar med någon fin deal så få jag lägga in en inbjudan till alla här på wn ;)

Hittade Web Developer på Firefox.
Jo, det var det dumma felet.
Tack för omtankarna.

/ Tony

/Tony


Alla tider är GMT +2. Klockan är nu 23:24.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson