2016-02-16 3 views
0

У меня есть пара входных данных, которые я хотел бы отправить так же, как и с формой, и установить для нее действие.Отправить данные с jquery

Возможно ли использование jquery?

Вот мои ЯШИ:

$(".flex-login-submit").click(submitForm); 
function submitForm() { 
    if (!$('[name="id"]').val().length || !$('[name="password"]').val().length) { 
     console.log("Too small"); 
     $('.errors').empty(); 
     $('.errors').append('<div class="animated fadeOut">Veillez à remplir tous les champs.</div>'); 

    } else { 
     $('.flex-login-container').attrib('action', 'submitForm'); 
     $('.flex-login-container').submit(); 
    } 
} 

И мой JSP:

<div class="flex-login-container"> 
    <div class="flex-login-title">Veuillez vous authentifier</div> 
    <input class="flex-login-infos" name="id" placeholder="Identifiant"> 
    <input class="flex-login-infos" type="password" name="password" placeholder="Mot de passe"> 
    <div class="flex-login-submit">Se connecter</div> 
    <div class="flex-login-help">Mot de passe oublié?</div> 
    <div class="errors"><br/></div> 
</div> 

Я получаю сообщение об ошибке "атр" не является функция.

ответ

1

Правильное имя функции - attr. Вы используете атрибут в своем коде.

Вы добавляете атрибут действия в div. Если вы хотите использовать submit, вам нужно будет использовать элемент формы.

В качестве альтернативы вы можете использовать функцию ajax для отправки формы по клику.

 $(".flex-login-submit").click(submitForm); 
function submitForm() { 
    if (!$('[name="id"]').val().length || !$('[name="password"]').val().length) { 
     console.log("Too small"); 
     $('.errors').empty(); 
     $('.errors').append('<div class="animated fadeOut">Veillez à remplir tous les champs.</div>'); 

    } else { 

       //ajax function here 
       $.ajax({ 

        url:"put your url here", 
        data: put your data here, 
        success:function(data){ 

        //do something with data here 

        } 


       }); 


    } 
} 
+0

благодаря @LarryLane - Однако представить does'nt представить ничего и не перенаправляет меня в любом месте. Любая идея почему? –

1

Я мог быть совершенно неправ, но я думал, что вам нужно иметь форму для отправки формы. Попробуйте это ...

HTML

<form id="flex-login-form" action="ACTION_URL_HERE" method="post"> 
<div class="flex-login-container"> 
    <div class="flex-login-title">Veuillez vous authentifier</div> 
    <input class="flex-login-infos" name="id" placeholder="Identifiant"> 
    <input class="flex-login-infos" type="password" name="password" placeholder="Mot de passe"> 
    <div class="flex-login-submit">Se connecter</div> 
    <div class="flex-login-help">Mot de passe oublié?</div> 
    <div class="errors"><br/></div> 
</div> 
</form> 

JS/JQuery

$(".flex-login-submit").on('click', function() { 
    if (!$('[name="id"]').val().length || !$('[name="password"]').val().length) { 
     console.log("Too small"); 
     $('.errors').empty(); 
     $('.errors').append('<div class="animated fadeOut">Veillez à remplir tous les champs.</div>'); 
    } else { 
     $('#flex-login-form').submit(); 
    } 
}); 
Смежные вопросы