13

こんにちは私は送信ボタンがクリックされたときにアクションを実行したくないこのフォームを持っています。私がやりたいのは、データをdivにロードする関数を実行することだけです。何か案は??

<form  method="POST"   action="" id="search-form">
          <input type="text" name="keywords"  />
          <input type="submit" value="Search" id="sButton" onclick="loadXMLDoc('file.xml')" />
</form>
4

4 に答える 4

12
onclick="loadXMLDoc('file.xml'); return false;"

またはさらに良い:

<script>
    window.onload = function() { 
        document.getElementById("search-form").onsubmit = function() { 
            loadXMLDoc('file.xml');
            return false;
        };
    };
</script>

loadXMLDocを実装するには、jQueryでajaxモジュールを使用できます。例えば:

function loadXMLDoc() { 
    $("div").load("file.xml");
}

jQueryを使用した最終コード:

<script>
    $(function() { 
        $("#search-form").submit(function() { 
            $("div").load("file.xml");
            return false;
        });
    });
</script>
于 2012-04-30T05:27:12.997 に答える
3

divページをリロードせずにinでデータをロードするにはajax関数が必要だと思います

入力タイプsubmitをに変更しますbutton

<input type="button" value="Search" id="sButton" onclick="AjaxSend()" />

Ajax CAll:

<script type="text/javascript">
    function AjaxSend(){
         $.get('file.xml', function(data) {
              $('div').html(data);
          });
     }
</script>
于 2012-05-04T08:48:21.977 に答える
1

フォームのアクションを回避するには、デフォルトの防止を使用してください。以下のコードを参照してください。

function createRecord(){	
	event.preventDefault();
	
}
<form>

<input type="text"/>
<input type="submit" onclick="createRecord()"/>

</form>

于 2019-04-01T10:28:39.120 に答える
0

actionからparamを削除しform、を追加するだけonsubmit="return false"です。フォームのいずれかのボタンをクリックするたびにfalseが返されます。このようにしてみてください:

<form  method="POST" onsubmit="return false" id="search-form">
          <input type="text" name="keywords"  />
          <input type="submit" value="Search" id="sButton" onclick="loadXMLDoc('file.xml')" />
</form>
于 2022-01-17T04:17:44.560 に答える