1

フォーム内のボタンをクリックすると、Ajaxを使用してサーバーに電話をかけようとします。しかし、event.PreventDefaultを使用したり、falseを返したりしても、Ajaxは使用されません。

何が問題なのか。これが私のHTMLとjQueryコードです

<form action="/Patient/Search" id="patient-search-form" method="post">   
<input type="text" id="PatientName" />
<button class="btn blue-button" id="search-patients" type="submit">
 <i class="icon-save icon-white"></i><span>Search</span>
</button>
</form>


<script type="text/javascript">
    $(document).ready(function () {
        $('#search-patients').submit(function (event) {
            event.preventDefault();             
            SearchPatients();
            return false;
        });
    });
</script>
4

2 に答える 2

5

送信イベントハンドラーがボタンに割り当てられています。ボタンは次の形式である必要があります。

<script type="text/javascript">
        $(document).ready(function () {
            $('#search-patients-form').submit(function (event) {
                event.preventDefault();             
                SearchPatients();
                return false;
            });
        });
</script>

または、代わりにボタンクリックイベントにバインドすることもできます。

<script type="text/javascript">
        $(document).ready(function () {
            $('#search-patients').click(function (event) {
                event.preventDefault();             
                SearchPatients();
                return false;
            });
        });
</script>
于 2013-03-18T11:41:42.943 に答える
1
$(document).ready(function () {
        $('#search-patients').click(function (event) {
            event.preventDefault();             
            SearchPatients();
            return false;
        });
    });

そこにボタンIDを指定しました。フォームIDを指定する必要があります。

于 2013-03-18T11:39:38.030 に答える