У меня есть две кнопки в форме, и при нажатии на них нужно вызывать две разные страницы. когда нажата кнопка1, страница 1 должна быть загружена, и когда нажата кнопка2, загрузится страница2. Я знаю, как это сделать в javascript, но я не знаю, как это сделать в jquery. Может ли кто-нибудь мне помочь?
JQuery для изменения формы действия
Ответ 1
Попробуйте следующее:
$('#button1').click(function(){
$('#formId').attr('action', 'page1');
});
$('#button2').click(function(){
$('#formId').attr('action', 'page2');
});
Ответ 2
jQuery - это просто JavaScript, не думайте об этом совсем иначе! Как и в "нормальном" JS, вы добавляете прослушиватель событий к кнопкам и изменяете атрибут действия формы. В jQuery это выглядит примерно так:
$('#button1').click(function(){
$('#your_form').attr('action', 'http://uri-for-button1.com');
});
Этот код тот же для второй кнопки, вам нужно только изменить идентификатор вашей кнопки и URI, где должна быть отправлена форма.
Ответ 3
Для сахара цели:
var actions = {input1: "action1.php", input2: "action2.php"};
$("#input1, #input2").click(function() {
$(this).closest("form").attr("action", actions[this.id]);
});
Ответ 4
$('#button1').click(function(){
$('#myform').prop('action', 'page1.php');
});
Ответ 5
Используйте jQuery.attr()
в обработчике кликов:
$("#myform").attr('action', 'page1.php');
Ответ 6
Пожалуйста, посмотрите этот ответ: fooobar.com/questions/86046/...
Цитата Tamlyn:
jQuery (1.4.2) запутывается, если у вас есть какие-либо элементы формы с именем "action". Вы можете обойти это с помощью методов атрибутов DOM или просто не иметь элементов формы с именем "action".
<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>
Ответ 7
Чтобы изменить динамическое значение формы формы, вы можете попробовать выполнить код ниже:
ниже код - это если вы открываете какой-то окно dailog и внутри этого окна dailog у вас есть форма, и вы хотите изменить его действие. Я использовал бутстрап dailog box и при открытии этого окна dailog я присваиваю значение действия форме.
$('#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);
});
Если вы пытаетесь изменить действие формы на обычной странице, используйте ниже код
$("#yourElementId").change(function() {
var action = <generate_action>;
$("#formId").attr("action", action);
});