JQuery om de vormactie

Ik heb twee knoppen in een formulier en twee verschillende pagina’s moeten worden gebeld wanneer ze worden geklikt. Wanneer knop1 is geklikt, moet Page1 worden geladen en wanneer knop2 is geklikt, moet Page2 worden geladen. Ik weet hoe ik dit moet doen in JavaScript, maar ik heb geen idee om dit in jQuery te doen. Kan iemand me helpen?


Antwoord 1, Autoriteit 100%

Probeer dit:

$('#button1').click(function(){
   $('#formId').attr('action', 'page1');
});
$('#button2').click(function(){
   $('#formId').attr('action', 'page2');
});

Antwoord 2, Autoriteit 14%

JQuery is gewoon JavaScript, denk niet heel anders over! Zoals u zou doen in ‘Normal’ JS, voegt u een gebeurtenislistener toe aan de knoppen en wijzigt u het Actionattribuut van het formulier. In jQuery ziet dit er iets uit als:

$('#button1').click(function(){
   $('#your_form').attr('action', 'http://uri-for-button1.com');
});

Deze code is hetzelfde voor de tweede knop, u hoeft alleen de ID van uw knop en de URI te wijzigen waar het formulier moet worden ingediend.


Antwoord 3, Autoriteit 11%

Gebruik jQuery.attr()in uw Click-handler:

$("#myform").attr('action', 'page1.php');

Antwoord 4, Autoriteit 8%

Zie dit antwoord: https://stackoverflow.com/a/3863869/2096619

QUITTERING TAMLYN :

jQuery (1.4.2) wordt in de war als u formulierelementen met de naam “Actie” hebt. Je kunt hier omheen gaan door de methoden van de DOM-attribuut te gebruiken of gewoon te voorkomen dat de vormelementen ‘actie’ worden genoemd.

<form action="foo">
  <button name="action" value="bar">Go</button>
</form>
<script type="text/javascript">
  $('form').attr('action', 'baz'); //this fails silently
  $('form').get(0).setAttribute('action', 'baz'); //this works
</script>

Antwoord 5, Autoriteit 7%

Sake-sake:

var actions = {input1: "action1.php", input2: "action2.php"};
$("#input1, #input2").click(function() {
    $(this).closest("form").attr("action", actions[this.id]);
});

Antwoord 6, Autoriteit 4%

$('#button1').click(function(){
$('#myform').prop('action', 'page1.php');
});

Antwoord 7

Om de actiewaarde van formulier dynamisch te wijzigen, kunt u de onderstaande code proberen:

Onderstaande code is als u een DAILOG-vakje opent en in die DAILOG-box u vormt en wilt u de actie ervan wijzigen. Ik heb Bootstrap Dailog-box gebruikt en bij het openen van die Dailog-box ben ik de actiewaarde toe aan het formulier.

$('#your-dailog-id').on('show.bs.modal', function (event) {
    var link = $(event.relatedTarget);// Link that triggered the modal
    var cURL= link.data('url');// Extract info from data-* attributes
    $("#delUserform").attr("action", cURL);
});

Als je de formulieractie op een normale pagina probeert te wijzigen, gebruik dan onderstaande code

$("#yourElementId").change(function() { 
  var action = <generate_action>;
  $("#formId").attr("action", action);
});

Other episodes