Pregunta

This is what I got:

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

Basically when I check the "business" checkbox, I want the form action to change to BusinessInoiveCreate.php instead of InvoiceCreate.php.

What would be the best way to do so?

¿Fue útil?

Solución 2

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

Working demo: http://jsfiddle.net/eV7vY/

Otros consejos

Since it's not specified, here's a simple way to do it without jQuery. Depending on browser compatibility you may need to attach the event listener differently, but the general concept is the same.

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);
};

Or similarly, bind an event to the submit

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

EXAMPLE

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top