0

同じ機能が他のページで機能していますが、ここでは機能を呼び出し、アラートを表示しますが、フォームが送信され、false が返されると機能しません.....ビューかみそりを使用しています

@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" }))

ここに私の送信ボタンがあります

<input type="submit" value="Submit" id="demo-submit-button"/> 

本当にありがとう

  $(function () {
        $('form').submit(function () {
            //alert($("input[type=radio]:checked").val());
            if ($("input[type=radio]:checked").val() == "True") {
                //Logo Image
                var selectedFile = $('#imgfile').val();
                if (selectedFile == "") {
                    alert('please select valid image logo for marketplace');
                    return false;
                } 
                else {
                    var fileExtension = ['jpeg', 'jpg', 'png', 'gif', 'bmp'];
                    if ($.inArray($('#imgfile').val().split('.').pop().toLowerCase(), fileExtension) == -1) {
                        alert("You are permited to select only '\n.jpeg','.jpg', '.png', '.gif', '.bmp' formats are allowed.");
                        return false;
                    }
                }

                //Screenshots
                if ($('#ssimgfile').val() == "" || $('#ssimgfile1').val() == "" || $('#ssimgfile2').val() == "") {
                    alert('please select valid screenshots for marketplace');
                    return false;
                }
                else {
                    var fileExtension = ['jpeg', 'jpg', 'png', 'gif', 'bmp'];
                    if ($.inArray($('#ssimgfile').val().split('.').pop().toLowerCase(), fileExtension) == -1 || $.inArray($('#ssimgfile1').val().split('.').pop().toLowerCase(), fileExtension) == -1 || $.inArray($('#ssimgfile2').val().split('.').pop().toLowerCase(), fileExtension) == -1) {
                        alert("You are permited to select only '\n.jpeg','.jpg', '.png', '.gif', '.bmp' formats are allowed.");
                        return false;
                    }
                    else {
                        return true;
                    }
                }
            }
        });
    });
4

3 に答える 3

0

まず、フォームで送信イベントのバインドを解除する必要があります。次のように使用します。

<script>
$(function () {
    $('form').unbind('submit');

    $('form')
        .bind('submit', function () {
            var form = this;
            if ($("form").valid()) {
                $.post('/you/url', $(form).serialize(), function (data) {
                    if (data.success) {
                        //to do something
                    } else {
                        //to do something
                    }
                });
            }

            return false;
        });
});

于 2013-03-26T22:23:29.507 に答える
0

ボタンのデフォルトイベントを「設定解除」する必要があります。

$('form').submit(function (event) {
  event.preventDefault();
  //Your code is here
});
于 2013-03-26T22:09:02.967 に答える
0

フォーム送信から送信ボタンのクリックに変更するだけで、フォーム送信の問題が何であるかはわかりませんが、うまくいきました。

ここで私が変更するもの

 $('#demo-submit-button').click(function () {
//my code
});
于 2013-03-27T16:41:46.613 に答える