Antagligen nått litet skit som jag har glömt att lägga till/ta bort i koden men jag kommer inte på det nu.
Får detta felmeddelande:
Ett objekt förväntas rad 178
Rad 178:
<form action="actions/users/messagesDelete.php" name="messagesDelete" method="POST" onsubmit="return checkDelete();">
Funktionen checkDelete:
var bCheckad=false
function checkDelete(){
var chs=0;
for(cnt=0;cnt<document.messagesDelete.messToDelete.length;cnt++){
if(document.messagesDelete.messToDelete[cnt].checked){
chs=chs+1;
}
}
if(chs<1){
alert("Du måste markera minst ett meddelande!");
return false;
}
else{
return confirm("Är du säker på att du vill ta bort markerade meddelanden?");
}
}
Jag skulle tippa på att du har något html-fel på sidan. Formulär i formulär, att du inte har avslutet något element korrekt innan formuläret eller något sådant som gör att webbläsaren inte "hittar" formuläret när koden exekveras.
Kan du länka till sidan? Kör du bara koden i exemplet så fungerar det.
<script type="text/javascript">
var bCheckad=false
function checkDelete(){
var chs=0;
for(cnt=0;cnt<document.messagesDelete.messToDelete.length;cnt++){
if(document.messagesDelete.messToDelete[cnt].checked){
chs=chs+1;
}
}
if(chs<1){
alert("Du måste markera minst ett meddelande!");
return false;
}
else{
return confirm("Är du säker på att du vill ta bort markerade meddelanden?");
}
}
</script>
<form action="actions/users/messagesDelete.php" name="messagesDelete" method="POST" onsubmit="return checkDelete();">
<input type="checkbox" name="messToDelete" value="1">
<input type="checkbox" name="messToDelete" value="2">
<input type="checkbox" name="messToDelete" value="3">
<input type="submit" value="Skicka">
</form>
Inget fungerar... ok... vad göra... kan ni hilfa mig skriva ett nytt script?
checkbox heter som sagt: messToDelete[]
formnamn: messagesDelete
Jag behöver en checkall/uncheckall funktion samt en som kollar om något är ifyltt och om något är det så ska man bekräfta att man vill ta bort. Hjälper ni mig med detta då är jag er evigt tacksamma.
Obs att det fattades ett "a" i type="text/javascript". (+ lite modifiering)
<script type="text/javascript" language="javascript">
var bCheckad=false
function checkDelete(){
for(i=0;i<document.messagesDelete.elements["messToDelete[]"].length;i++){
var chBox=document.messagesDelete.elements["messToDelete[]"][i]
if(chBox.checked){
bCheckad=true;
}
}
if(!bCheckad){
alert("Du måste välja inlägg att ta bort")
}
else{
bCheckad=confirm("Är du säker på att du vill ta bort markerade inlägg?")
}
return bCheckad;
}
function checkall(){
for(var n=0;n<document.messagesDelete.elements.length;n++){
if(document.messagesDelete.elements[n].type=="checkbox" && document.messagesDelete.elements[n].name.indexOf("messToDelete")==0){
document.messagesDelete.elements[n].checked=true;
}
}
var checkedAll = 1;
}
function uncheckall(formobj,namestart){
for(var n=0;n<formobj.length;n++){
if(formobj[n].type=="checkbox" && formobj[n].name.indexOf(namestart)==0){
formobj[n].checked=false;
}
}
var checkedAll = 0;
}
</script>
Fast... om jag bara har ett meddelande så vill den inte känna av att jag har markerat det... fast om jag har flera och endast markerar en så går det bra... skumt
De heter likadant, messToDelete[], spelar ingen roll om det är ett eller fyra... samma namn men olika värden. Jag har haft ett sånt här script förut och det funkade... men det tappade jag som valigt bort.
<script type="text/javascript" language="javascript">
function checkDelete(){
var bCheckad=false
if(!document.messagesDelete.elements["messToDelete[]"].length){
bCheckad=document.messagesDelete.elements["messToDelete[]"].checked;
} else {
for(i=0;i<document.messagesDelete.elements["messToDelete[]"].length;i++){
var chBox=document.messagesDelete.elements["messToDelete[]"][i]
if(chBox.checked){
bCheckad=true;
}
}
}
if(!bCheckad){
alert("Du måste välja inlägg att ta bort")
}
else{
bCheckad=confirm("Är du säker på att du vill ta bort markerade inlägg?")
}
return bCheckad;
}
function checkall(){
for(var n=0;n<document.messagesDelete.elements.length;n++){
if(document.messagesDelete.elements[n].type=="checkbox" && document.messagesDelete.elements[n].name.indexOf("messToDelete")==0){
document.messagesDelete.elements[n].checked=true;
}
}
var checkedAll = 1;
}
function uncheckall(formobj,namestart){
for(var n=0;n<formobj.length;n++){
if(formobj[n].type=="checkbox" && formobj[n].name.indexOf(namestart)==0){
formobj[n].checked=false;
}
}
var checkedAll = 0;
}
</script>
Nu när du ändå är här (om du inte har hunnit smita) om jag vill använda "checkedAll" som du hittar i koden för att avgöra om en knapp/bild ska markera/avmarkera hur gör jag då?