0
私は送信する前にフォームを検証するコードを持っています。これは初めてのコードですが、これは初めてのboostrapです。条件は逆さまに評価されます
条件が最後から最初に評価されていることに気づいたのは初めてのことです。空のフォームを投稿しようとすると、最後のフィールドにエラーが発生します。そのエラーを一度修正すると、それは前のものに移動します。
マイJS:
$('#submit').click(function(e){
e.preventDefault();
var tipo = <?php echo $tipo; ?>;
var error = 0;
if ($('#screen_name').val()=='') {
$('#message').removeClass().addClass('text-danger').html("<strong><?php echo _("Inserisci il nome della schermata per proseguire."); ?></strong>").fadeTo(900,1);
$('#screen_name').focus();
error = error + 1;
}
if (tipo==1||tipo==2||tipo==3) {
if ($('#scroll_text').val()=='') {
$('#message').removeClass().addClass('text-danger').html("<strong><?php echo _("Inserisci una testo da fare scorrere per proseguire."); ?></strong>").fadeTo(900,1);
$('#scroll_text').focus();
error = error + 1;
}
}
if (tipo==2||tipo==4) {
if ($('#templ_img').val()=='') {
$('#message').removeClass().addClass('text-danger').html("<strong><?php echo _("Scegli una immagine per proseguire."); ?></strong>").fadeTo(900,1);
$('#templ_img').focus();
error = error + 1;
}
}
if (tipo==3||tipo==5) {
if ($('#templ_film').val()=='') {
$('#message').removeClass().addClass('text-danger').html("<strong><?php echo _("Scegli un video per proseguire."); ?></strong>").fadeTo(900,1);
$('#templ_film').focus();
error = error + 1;
}
}
if (error==0) {
ajaxSubmit();
}
});
私は何をしないのですか?このコードで何が間違っていますか? tipo=2
を想定し、それが評価されます:
#templ_img
#scroll_text
#screen_name
が、次のようになります。
#screen_name
- を配列形態およびJSコードの両方である
#templ_img
。
もちろん、 'elseif'は不要ですか? 'if'sだけでは、以前のことが何をしたのかを後者が引き継ぐ可能性が常にあります。 – Yoshi
@ Yoshiあなたは正しいです。それぞれの方法で前のものを上書きするので、最後のものだけが表示されます。ありがとう、これは私の問題を解決した –