0

このフォームが通常の方法で送信され、jQuery submit()によってキャッチされない理由を誰かが理解できますか?コンソールでエラーが発生しません。

<script charset="utf-8">
$("#theform").submit(function(event) {  

    $.post('./index.php',{INPUT: $("#INPUT").val(),
                          TO_TYPE: $("#TO_TYPE").val(),
                          TO_V_BITRATE: $("#TO_V_BITRATE").val(),
                          TO_A_BITRATE: $("#TO_A_BITRATE").val()},
    function(data) {
        $('#divResult').replaceWith('<div id="divResult">'+ data.result +'<div>');
    });

    event.preventDefault();
    return false;
});
</script>

<h1>FFmpeg</h1>

<form id="theform" action="" method="POST">

  <p>Input file:
     <select size="1" id="INPUT" name="INPUT">
        <option value="demo.mp4">demo.mp4</option>
     </select>
  </p>

  <p>Convert To:
     <select size="1" id="TO_TYPE" name="TO_TYPE">
      <option value="AVI">AVI</option>
      <option selected value="MP4">MP4 (x264)</option>
      <option value="FLV">Flash</option>
     </select>

    Video Bitrate: 
    <select size="1" id="TO_V_BITRATE" name="TO_V_BITRATE">
     <option value="96">96</option>
     <option value="192">192</option>
     <option value="288">288</option>
     <option value="384">384</option>
     ...
    </select>

   Audio Bitrate: 
    <select size="1" id="TO_A_BITRATE" name="TO_A_BITRATE">
     <option value="96">96</option>
     <option value="192">192</option>
     <option value="288">288</option>
     <option value="384">384</option>
     ...
    </select>
  </p>
   <p><input type="submit" id="Submit" value="Convert"></p>
</form>
4

2 に答える 2

2

eventパラメータの設定を忘れた

$("#theform").submit(function(event) {
                                ^ ------ you missed it
....
});

$ラッパーが必要です:

<script charset="utf-8" type="text/javascript">
  $(function() {

    $("#theform").submit(function(event) {  

      $.post('./index.php',{INPUT: $("#INPUT").val(),
                          TO_TYPE: $("#TO_TYPE").val(),
                          TO_V_BITRATE: $("#TO_V_BITRATE").val(),
                          TO_A_BITRATE: $("#TO_A_BITRATE").val()},
      function(data) {
        $('#divResult').replaceWith('<div id="divResult">'+ data.result +'<div>');
      });

      event.preventDefault();
     return false;
    });
  });
</script>
于 2012-05-26T17:38:56.203 に答える
2

フォームの後にスクリプトを追加してみてください$(document).ready(function(){do_something;});

于 2012-05-26T17:46:55.380 に答える