Dålig rubrik, men jag har får koncentrera mig på att överleva en dag som denna...
Jag har följande kod (Tack Peter S )
<script type="text/javascript">
function submitForm(frm, url, msg){
frm.action = url;
var cb = frm.elements["checkTask"],
i = cb.length;
if (!i && cb.checked){
if (confirm(msg)){ frm.submit() }
return;
} else {
while (i--){
if (cb[i].checked){
if (confirm(msg)){ frm.submit() }
return;
}
}
}
alert("Inget uppdrag är markerat!");
}
</script>
...
<input type="checkbox" name="checkTask" value="<% =server.htmlencode(objRS("Id")) %>" />
...
<input type="button" class="submitButton" value="Sammanfoga" onclick="submitForm(this.form, 'joinTask.asp', 'Uppdraget kommer att sammanfogas, vill du fortsätta?')">
<input type="button" value="Radera" class="submitButton" onclick="submitForm(this.form, 'deleteTask.asp', 'Är du säker på att du vill radera uppdragen?')">
<input type="button" value="Klona" class="submitButton" onclick="submitForm(this.form, 'cloneTask.asp', 'Uppdragen kommer att klonas. Vill du fortsätta?')">
Den fungerar så att det går inte att submitta om inte någon checkbox är ifylld för aktuell post.
Samtidigt så måste man bekräfta att man verkligen vill utföra åtgärden
Nu skulle jag vilja utveckla det hela lite...
När det gäller "Radera uppdrag" så behävs ingen förändring.
Men...
Jag skulle vilja ha en spärr som gör att man inte kan gå vidare och klona ett uppdrag om fler än ett uppdrag är valt, dvs det får bara vara ett uppdrag markerat.
samt
En spärr som gör att man inte kan sammanfoga ett uppdrag om endast ett uppdrag är valt dvs det måste vara minst 2 uppdrag markerade...
Har deadlinen skjutits upp eller är den farligt nära?
Testa:
<script>
function submitForm(inp, url, msg){
inp.form.action = url;
var cb = inp.form.elements["checkTask"],
i = cb.length,
ch = 0;
if (!i && cb.checked){
if (confirm(msg)){ frm.submit() }
return;
} else {
while (i--){ cb[i].checked && ++ch }
}
if (!ch){
alert("Inget uppdrag är markerat!");
return;
}
if (inp.value == "Klona" && ch != 1){
alert("Vid kloning får endast ett uppdrag vara markerat!");
return;
}
if (inp.value == "Sammanfoga" && ch != 2){
alert("Vid sammanfogning måste två uppdrag vara markerade!");
return;
}
confirm(msg) && inp.form.submit();
}
</script>
<form>
<input type="checkbox" name="checkTask">
<input type="checkbox" name="checkTask">
<input type="button" value="Radera" onclick="submitForm(this, 'dev.html', 'Är du säker på att du vill radera uppdragen?')">
<input type="button" value="Klona" onclick="submitForm(this, 'dev.html', 'Uppdraget kommer att klonas, vill du fortsätta?')">
<input type="button" value="Sammanfoga" onclick="submitForm(this, 'dev.html', 'Uppdragen kommer att sammanfogas. Vill du fortsätta?')">
</form>