2012-05-13 4 views
2

я могу представить, используя Jquery как это:Изменение «действие» в форме

$('.SomeLink').bind('click', function() 
{ 
     $(form).submit(); 
}); 

Фактическая форма выглядит следующим образом:

<form id="foo" method="get" action="http://www.google.com/search"> 
</form> 

Теперь предположим, что у меня есть еще одно звено, в котором я хочу иметь возможность использовать ту же форму, но теперь я хочу изменить URL-адрес «действия». Как изменить действие, если нажата другая ссылка?

ответ

4
$("#foo").attr("action","http://your_new_val"); 
+0

Большое спасибо (: – Youss

3

Действие - это только атрибут формы.

$("different button").click(function(){ 
    $("form").attr("action","new action"); 
}); 
2

Вы могли бы попытаться изменить действие в качестве простого параметра:

$(form).attr('action', 'newUrlInString'); 

, а затем вызвать представить();

1

Try:

$('.DifferentLink').bind('click', function() { 
     $("#foo").attr("action","new/action"); 
     $("#foo").submit(); 
}); 
1

Я предполагаю, что у вас есть форма с текстовым полем и несколькими ссылками, которые могут представить форму к месту выбора. Это, как вы можете сделать это родовое:

<form id="theform"> 
    <input type="text" name="q" /> 
</form> 
<div id="choices"> 
    <a href="#" data-url="http://www.google.com/search/">Google</a> 
    <a href="#" data-url="http://www.yahoo.com/">Yahoo</a> 
</div> 

Тогда JavaScript:

$(function() { 
    $('a', $('#choices')).on('click', function() { 
    $('#theform') 
     .attr('action', $(this).data('url')) 
     .submit(); 
    return false; 
    }); 
}); 
Смежные вопросы