Hur får jag till att forumuläret skickas om man svarar "ok"?
I nuläget så händer inget.
function submitHTML() {
if(document.form1.red.checked)
return confirm('Vill du verkligen skriva över den befintliga filen?');
else
document.form1.submit();
}
[red]<script type="text/javascript">
<!--
function submitHTML() {
if (document.form1.red.checked)
return confirm('Vill du verkligen skriva över den befintliga filen?');
else
document.form1.submit();
}
//-->
</script>
...
<form name="form1" onsubmit="return submitHTML();">
<input type="checkbox" name="red">Skriv över
<br><br>
<input type="submit">
</form>[/red]
Klickar man inte i checkboxen så skickas formuläret direkt, klickar man i checkboxen så kommer bekräftelserutan upp.
Väljer man OK i bekräftelserutan så skickas forumläret, väljer man AVBRYT händer nada.
Det var ju exakt det jag behövde! Tack!
Jag skulle även behöva komplimentera med att kolla att ett fält innehåller ett filnamn. Alltså, ett valfritt antal bokstäver, en punkt, samt två - fyra tecken efter punkten. Hur skulle ett sådant regexppattern se ut?
Är detta en början?
([a-zA-Z0-9]{1}([a-zA-Z0-9|-|_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
Jag har inga problem med att skapa en fil vars namn börjar på ett understreck eller bindestreck, eller har med en siffra i filändelsen, så jag förstår inte varför du gör en sådan koll
<script type="text/javascript">
<!--
function submitHTML() {
String.prototype.isValidfilename = function(){
return !! this.match(/\w+\.\w{2,3}/)
}
if(!document.form1.filename.value.isValidfilename()){
alert("Filnamnet verkar inte stämma!\nSe till att den innehåller filnamn och en filändelse.");
document.form1.filename.focus();
return false;
}
if (document.form1.red.checked)
return confirm('Vill du verkligen skriva över den befintliga filen?');
else
document.form1.submit();
}
//-->
</script>
<form name="form1" onsubmit="return submitHTML();">
<input type="checkbox" name="red">Skriv över
<br>
<input type="text" name="filename">
<br>
<input type="submit">
</form>
Ooops, jag skulle vilja ha en "bildlänk" med ett onclickevent för att submita formuläret men då funkar det inte riktigt som det skall. Om jag klickar "Ok" på confirmdialogrutan så submitas inte något.
Alltså, ovanstående kod funkar, men inte:
Japp det gjorde susen. :)
Men....(som alltid) jag märkte ett nytt problem.
Vad jag inte har skrivit tidigare i koden är att innan formuläret submitas så skickar jag över lite text till ett hidden field:
<script type="text/javascript">
<!--
function submitHTML() {
String.prototype.isValidfilename = function() {return !! this.match(/\w+\.\w{2,3}/)}
if(!document.form1.filename.value.isValidfilename())
{
alert("Filnamnet verkar inte stämma!\nSe till att den innehåller filnamn och en filändelse.");
document.form1.filename.focus();
return false;
}
if (document.form1.red.checked)
return confirm('Vill du verkligen skriva över den befintliga filen?');
else
[red]document.form1.edit.value=iView.document.body.innerHTML;[/red]
document.form1.submit();
}
//-->
</script>
...
<form name="form1" onsubmit="return submitHTML();">
<input type="checkbox" name="red">Skriv över
<br>
<input type="text" name="filename">
<br>
<input type="submit">
</form>
När jag kör koden utan att klicka i checkboxen så "överförs" koden på rätt sätt.
Men klickar jag i den och "Ok:ar" confirmen så submitas forumuläret men inget "överförs".