2012-03-06 5 views
0

У меня есть флажок, который сохраняет свое состояние (Проверено/Не отмечено) в базе данных MySQL. Например, есть один на https://encrypted.coxnetworks.co.uk/school/includes/Checkboxes/Monday1/checkbox.php (он защищен паролем).Снимите флажок (Сохранить состояние в базе данных) в PHP

код на странице

<form id='checkbox' method="post" action='/school/includes/Checkboxes/Monday1/checkbox.php'><!-- php: get the name+location of the webpage --> 
    <input type="hidden" name="confirm" value="1"> <!-- give confirm a value --> 
    <input type="checkbox" checked name="checkbox" value="1" onclick="document.forms['checkbox'].submit()"/> <!-- submit the form when checkbox is clicked --> 
</form> 

Так он использует JavaScript для отправки сообщений в PHP. Однако я хочу, чтобы у вас была возможность щелкнуть одну кнопку, чтобы запустить скрипт, чтобы снять нагрузку с них. Как я могу это сделать?

+0

Они «включены» через iFrames, хотя и не находятся непосредственно на странице, поэтому решения для javascript на самом деле не работают. Извините, должен был это сказать. –

ответ

0

Вам не нужно несколько форм, вы можете сделать это с помощью AJAX JQuery в:

$(function() { 
    $('input.save_state').change(function)() { 
     $.ajax({ 
     url: '/path/to/controller', 
     type: 'POST', 
     // Send both the ID and the boolean value 
     data: 'id='+$(this).attr('id')+'&val='+$(this).val(), 
     success: function() { 
      // show success message if necessary 
     } 
     }); 
    }); 
    $('button.wipe_all_states').change(function)() { 
     $.ajax({ 
     url: '/path/to/controller', 
     type: 'POST', 
     // Because you're resetting everything, you don't need to send IDs or values 
     success: function() { 
      // show success message if necessary 
     } 
     }); 
    }); 
}); 
0

Я рекомендовал бы использовать JQuery. Это позволит вам использовать простой сценарий, как:

$('input[type=checkbox].uncheck').attr('checked',false); 

это будет снять все флажки с классом «снимите флажок».

Вы можете найти JQuery по адресу:

http://jquery.com/

0

что-то, чтобы удлинять в одиночку

JavaScript:

function checkAll(field) 
{ 
for (i = 0; i < field.length; i++) 
    field[i].checked = true ; 
} 

function uncheckAll(field) 
{ 
for (i = 0; i < field.length; i++) 
    field[i].checked = false ; 
} 

или Jquery исполнение может выглядеть следующим образом:

$(".fieldClass").attr("checked", "checked"); // make checkbox or radio checked 
$(".fieldClass").removeAttr("checked"); // uncheck the checkbox or radio 

Это просто проверка/снятие с вас ума .. публикация данных, которые вы просто будете обрабатывать, как вы делаете сейчас, я полагаю.

Смежные вопросы