tonyhMedlem sedan okt. 2002107 inlägg Hej,
Jag har ett formulär på en sida som är uppbyggd av flera DIV-taggar (nestlade).
Det gör så det inte går att posta formuläret på det vanliga "document.forms[0].submit();", har därför provat diverse andra sätt att posta formuläret på (detta efter att formuläret validerats i mitt JavaScript), på dessa sätt har jag försökt posta mitt formulär:
document.form[0].submit();
document.mittform.submit();
document.getElementById("mittform").submit();
document.divNr1.divNr14.div143.mittform.submit();
Inget av dessa verkar fungera - uppskattar alla förslag på hur jag skulle kunna få mitt formulär att postas av mitt JS!!!
Tack på förhand!!!
Peter SMedlem sedan dec. 20025 483 inlägg Hej!
Klistra gärna in relevant HTML-kod också.
:)
tonyhMedlem sedan okt. 2002107 inlägg Det e en hel del kod men något fökortad version nedan...
<html>
<head>
<title>Test</title>
<link rel="stylesheet" type="text/css" href="css/style_basic.css">
<link rel="stylesheet" type="text/css" href="css/style_tavla.css">
<script language="javascript" src="includes/FormValidationInc.js"></script>
<script language="javascript">
<!--
function validatePostForm()
{
var ErrMsg;
ErrMsg = "";
ErrMsg += ValidateText("Firstname", "Förnamn", "", "", 1);
ErrMsg += ValidateText("Lastname", "Efternamn", "", "", 1);
ErrMsg += ValidateText("Address", "Adress", "", "", 1);
ErrMsg += ValidateText("AreaCode", "Postnummer", "", "", 1);
ErrMsg += ValidateText("Area", "Postadress", "", "", 1);
ErrMsg += ValidateText("Hospital", "Arbetsplats", "", "", 1);
ErrMsg += ValidateText("PhoneNo", "Telefon", "", "", 1);
ErrMsg += ValidateEmail("Email", "E-postadress", 1);
if (ErrMsg.length > 0)
{
alert(ErrMsg);
if(FocusField.length > 0){
eval(FocusField + ".focus();");
}
}
else
{
document.contest.submit();
}
FocusField = "";
}
//-->
</script>
</head>
<body>
//...och lite längre ner kommer...
<div id="borderpic" z-index="6">
<div id="form" z-index="50">
<table border="0" cellpadding="0" cellspacing="0" width="395">
<tr>
<td align="justify">Vad tycks
</td>
</tr>
</table>
<br>
<form method=post name=contest id=contest action="send.asp">
<table border="0" cellpadding="1" cellspacing="0" width="580">
<tr class="formcolor">
<td><h2>1. </td>
<td><input type="radio" name="Q1" value="1512"></td>
<td>1512 </td>
<td><input type="radio" name="Q1" value="1520"></td>
<td>1520 </td>
<td><input type="radio" name="Q1" value="1523"></td>
<td>1523</td>
</tr>
//...och därefter submit-knappen och lite slut taggar...
<table border="0" cellpadding="0" cellspacing="0" width="575">
<tr>
<td><input type="checkbox" name="MoreInfo" value="Ja" checked> Ja, jag vill
fortsätta få information från er </td>
<td align="right"><input OnClick="javascript:validatePostForm();" type="button" name="submit" value="Skicka tävlingsbidrag"></td>
</tr>
</table>
<input type="hidden" name="LanguageOBJID" value="{C283BC19-D5BD-11D4-8EB7-0000F659DADC}" ID="Hidden1">
</form>
</div>
</div>
...
P.S. FormValidationInc.js innehåller valideringsfunktionerna som används i funktionen validatePostForm.
Peter SMedlem sedan dec. 20025 483 inlägg Felet ligger i att du döpt inputelementet till "submit", vilket också är namnet på den metod som används för att skicka formuläret.
För att lösa problemet ger du givetvis elementet ett annat namn.
:)
tonyhMedlem sedan okt. 2002107 inlägg Tack Peter S...
...självklart är det så!!!
F..n vad man kan stirra sig blind på vissa problem!!!
Tack så jättemycket, ni är en klippa ;)
Ha det!!! :birp :bire