2013-04-04 2 views
0

Это то, что я получил:PHP/Javascript Checkbox изменить форму действия при проверке

<form action="invoiceCreate.php" method="post"> 
<input type="checkbox" name="business" id="business" vaulue="yes" /> 

В основном, когда я проверяю "business" флажок, я хочу, чтобы форма действия, чтобы изменить BusinessInoiveCreate.php вместо InvoiceCreate.php.

Что было бы лучшим способом сделать это?

+1

с javascript. Вы что-то пробовали? – aleation

+1

Не делать этого. Вместо этого сделайте логическую ветвь решения решения ветвления. – Quentin

ответ

2
$('#business').on('change', function(){ 
    if ($(this).is(':checked')) { 
     $('form').attr('action', 'BusinessInoiveCreate.php'); 
    } else { 
     $('form').attr('action', 'invoiceCreate.php'); 
    } 
}); 

Работа демо: http://jsfiddle.net/eV7vY/

+0

Спасибо, chrx, отлично работает! –

4

Поскольку это не указано, вот простой способ сделать это без JQuery. В зависимости от совместимости с браузером вам может понадобиться присоединить прослушиватель событий по-разному, но общая концепция одинаков.

HTML

<form name="myForm" action="invoiceCreate.php" method="post"> 
    <input type="checkbox" name="business" id="business" vaulue="yes" /> 
</form> 

Javascript

var form = document.getElementsByName("myForm")[0]; 
var checkBox = document.getElementById("business"); 

checkBox.onchange = function(){ 
    if(this.checked){ 
    form.action = "giveEmTheBusiness.php"; 
    }else{ 
    form.action = "invoiceCreate.php"; 
    } 
    console.log(form.action); 
}; 

Или так же, связать событие с submit

form.onsubmit = function(){ 
    if(checkBox.checked) 
     form.action = "giveEmTheBusiness.php" 
    else 
     form.action = "invoiceCreate.php"; 
}; 

EXAMPLE

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