Отправка формы с JQuery не работает - PullRequest
1 голос
/ 14 сентября 2011

У меня проблемы с получением формы представления. Я использую protectDefault для того, чтобы динамически изменить атрибут действия формы, но когда я нажимаю кнопка это ничего не делает, и у меня заканчиваются идеи, почему это может быть. Может кто-нибудь, пожалуйста, посмотрите и укажите мне, где я ошибся?

Вот код:

JS:

           $j('select[id=subtype]').live('change',function(){                 
           var stype = $j(this).val();  
    var styp_pos = $j.inArray(stype, styp_id_arr);
    var styp_url = styp_url_arr[styp_pos];
    $j('input[id=styp_url]').val(styp_url);
       });


            $j('button[id=frm_submit]').click(function(event){
    event.preventDefault();
    var full_url  = typ_url + '-' + styp_url + '.html';
    alert(full_url);
    $j('form[id=type_sel_form]').attr("action", full_url);
    $j('form[id=type_sel_form]').submit();

});

HTML:

<form id="type_sel_form" name="type_sel" class="stsel_form" action="subtype.php" method="post">
...
<button id="frm_submit" type="submit" class="st_button">View</button>
</form>

EDIT: после исправления опечатки в первой версии и при запуске кода через Firebug я получаю сообщение об ошибке, в котором говорится, что typ_url не определен Я определил это во время действия (первая часть кода JS), которое выполняется перед отправкой. Может ли это быть причиной того, что при нажатии кнопки ничего не происходит?

Большое спасибо заранее

Ответы [ 2 ]

2 голосов
/ 14 сентября 2011

Я предполагаю, что вы дали псевдоним от $ до $j. Удалите . после $j в этих двух строках

$j('#type_sel_form').attr("action", full_url);
$j('#type_sel_form').submit();

Также достаточно предоставить id с $('#id').

Полный пример:

$j('#frm_submit').click(function(event){
    event.preventDefault();
    var full_url  = typ_url + '-' + styp_url + '.html';
    alert(full_url);
    $j('#type_sel_form').attr("action", full_url);
    $j('#type_sel_form').submit();
});
0 голосов
/ 14 сентября 2011

Изменение:

$j.('form[id=type_sel_form]').attr("action", full_url);
$j.('form[id=type_sel_form]').submit();

В

$j('form[id=type_sel_form]').attr("action", full_url);
$j('form[id=type_sel_form]').submit();

Есть дополнительные точки.

...