kittlosMedlem sedan sep. 2002205 inlägg Jag har en formulärsida, som pekar på sig själv och infogar data i databasen.
Dock slutade den fungera när jag bytte ut submitknappen mot en button som kollar formuläret med ett javascript. Om allt stämemr skickar den vidare formuläret.
Här är den väsentliga koden:
<?
if (isset($_POST['SubmitButton']))
{
include ("common.inc");
$query = "INSERT INTO bilder (image,height,width,text,comment,status) VALUES ('$name','$height','$width','$text','$comment','index')";
$result = mysql_query("$query");
}
?>
<script language="JavaScript1.2">
<!--
function validateForm()
{
var f = document.forms[0];
if(f.name.value=='') alert("Skriv in en sökväg eller välj en fil!");
// else if(f.name.value!='Q:\Romulus2\*') alert("Filen ligger inte i Romulus-mappen!");
else if(f.width.value=='') alert("Fyll i bildens bredd!");
else if(f.text.value=='') alert("Skriv in sökord!");
else f.submit();
}
//-->
</script>
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
Blablabla de olika fälten i formuläret
<br><br><input type="button" value="Lägg till bild" name="SubmitButton" onClick="validateForm();">
</form>
Vad är fel? Misstänker att det är i if (isset($_POST['SubmitButton'])) det ligger, men jag vet inte hur jag ska göra det annorlunda.
/c
kittlosMedlem sedan sep. 2002205 inlägg Kanske ska tillägga att sidan skickas, men datan infogas ej. Det gör den dock om jag byter tillbaks till en submit-knapp och skippar javafunktionen. Funktionen i sig fungerar dock.
MatteMedlem sedan aug. 20002 975 inlägg Det verkar som variabeln från button inte skickas för dig. Vill du inte byta ut button så kan du ju alltid köra if(isset()) mot något annat fält som finns i formuläret, alternativt lägga dit en hidden.
kittlosMedlem sedan sep. 2002205 inlägg Jag förstår inte riktigt hur du menar. Kan du ge exempel?
tacksam för hjälp
MatteMedlem sedan aug. 20002 975 inlägg Om ditt formulär t.ex ser ut så här:
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="Tjosan" value="">
<input type="text" name="hejhopp">
<br><br><input type="button" value="Lägg till bild" name="SubmitButton" onClick="validateForm();">
</form>
där hejhopp är ett av dina blablafält. Då kan kan du göra så här i skriptet som tar emot:
<?php
if (isset($_POST['hejhopp']))
// eller
if (isset($_POST['Tjosan']))
?>
Förmodar att det är valideringen du försöker göra. Då går det bra att göra så här också:
<script language="JavaScript1.2">
<!--
function validateForm()
{
var f = document.forms[0];
if(f.name.value==''){
alert("Skriv in en sökväg eller välj en fil!");
return false;
}
// else if(f.name.value!='Q:\Romulus2\*') alert("Filen ligger inte i Romulus-mappen!");
else if(f.width.value==''){
alert("Fyll i bildens bredd!");
return false;
}
else if(f.text.value==''){
alert("Skriv in sökord!");
return false;
}
else return true;
}
//-->
</script>
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>" onsubmit="return validateForm()">
Blablabla de olika fälten i formuläret
<br><br><input type="submit" value="Lägg till bild" name="SubmitButton">
</form>