0

何らかの理由で、このフォームはページを更新し続けますが、ページに別の ID で同じスクリプトを持つ別のフォームがあり、更新されないため、その理由がわかりません。preventDefault(); を使用してみました。も同様ですが、どちらも機能しません。このフォームまたはスクリプトのどこが間違っているか教えてください。

ありがとう

ページの先頭へ

<script type="text/javascript" src="../JS/jquery.js"></script>
<script type="text/javascript" src="../JS/jquery-ui.js"></script>
<script type="text/javascript" src="../JS/member_info.js"></script>

フォーム

<form id="central">
<table width="40%" class="search">
<tr>
<td width="39%" align="left"><p><b>Inception Date:</b></p><input size="10" maxlength="10" id="creddate" type="text" value="<?php echo $creddate; ?>" /></td>
<td width="41%" align="left"><p><b>Surety:</b></p><input size="15" maxlength="15" id="surety" type="text" value="<?php echo $surety; ?>" /></td>
<td width="20%" align="left"><p><b>Credit Limit:</b></p><input size="15" maxlength="15" id="creditlimit" type="text" value="<?php echo $credlimit; ?>" /></td>
</tr>
</table>
<br />
<table style="margin:0 auto">
<tr>
<td><input type="hidden" id="code" size="12" readonly="true" value="<?php echo $code; ?>" /></input></td>
<td><input type="submit" value=" Save " /></input></td>
<td><p align="center" id="central_status"></p></td>
</tr>
</table>
</form>

スクリプト - member_info.js からリンク

$(document).ready(function(){
  $("form#central").submit(function() {
    var code = $('#code').val();
    var inception = $('#creddate').val();
    var surety = $('#surety').val();
    var credit = $('#creditlimit').val();
    $.ajax ({
      type: "POST",
      url: '../members/edit_central.php',
      data: {code: code, creddate: creddate, surety: surety, creditlimit: creditlimit},
      success: function(data) {
        $('#central_status').html(data);
      }
    });
    return false;
  });
});
4

3 に答える 3

3

preventDefault()フォームが送信された直後に確認してください。それを行う前に、他に何もしないでください (Ajax の呼び出しなど)。

例えば:

$("form#central").submit(function(e) {
    e.preventDefault();

    // Your other long running (possibly async)
    // operations here
}

また、フォームをページに動的に追加していないことを確認してください。その場合は、submit イベントをライブでアタッチする必要があります。そのようです:

$(document).on('submit', 'form#central', function(e){
    // same as above
});
于 2013-10-09T09:21:32.503 に答える
0

送信の代わりに入力タイプのボタンを使用する

<input type="button" value=" Save " name="saveButton" id="saveButton" />
于 2013-10-09T09:22:46.823 に答える