Jquery mobile 为什么jQuery移动多页会触发多个提交事件?

Jquery mobile 为什么jQuery移动多页会触发多个提交事件?,jquery-mobile,Jquery Mobile,下面是一个测试页面。如果我浏览所有JQM“页面”,然后返回到第一个页面,然后单击提交,“提交”警报对话框将弹出4次。我做错了什么?我应该如何使提交事件只触发一次 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org

下面是一个测试页面。如果我浏览所有JQM“页面”,然后返回到第一个页面,然后单击提交,“提交”警报对话框将弹出4次。我做错了什么?我应该如何使提交事件只触发一次

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta charset="utf-8">
    <script type="text/javascript" charset="utf-8" src="js/phonegap.js"></script>
    <link rel="stylesheet" href="jquery-mobile/jquery.mobile.css"/>
    <link rel="stylesheet" href="css/custom-icons.css"/>
    <link href="css/jquery.mobile-swatch-f.css" rel="stylesheet" type="text/css"/>
    <script src="js/jquery.js"></script>
    <script src="jquery-mobile/jquery.mobile.js"></script>

    <script>
        $('div:jqmData(role="page")').live('pageinit', function() {
             $('form').submit(function(e) {
                alert("SUBMITTING");
            });
        });
    </script>
</head>

<body>
<form id="frm_testform_happy_party">
    <div data-role="page" id="testform_menu" data-theme="f" class="dummyclass">
        <div data-role="header">

            <h1>Testing testing</h1>
        </div>
        <div data-role="content">
            <ul data-role="controlgroup">
                <li><a target_id="testform_happy" href="#testform_happy" data-role="button"
                       style="text-align:left" data-icon="arrow-r"
                       data-iconpos="right" class=".ui-icon-manditory">happy party</a></li>
                <li><a target_id="testform_description" href="#testform_description" data-role="button"
                       style="text-align:left" data-icon="arrow-r"
                       data-iconpos="right">Description</a></li>
                <li><a target_id="testform_vehicle" href="#testform_vehicle" data-role="button"
                       style="text-align:left" data-icon="arrow-r" data-iconpos="right">Vehicle</a>
                </li>
            </ul>
            <input id="submit_claim" type="submit" name="send" value="Submit" id="submit"/>

            <div id="debug">
            </div>
        </div>

        <div data-role="footer" data-position="fixed" class="ui-btn-right" style="min-height:42px;">
            <a href="index.html#claim_menu" rel="external" data-icon="arrow-l" data-direction="reverse"
               data-iconpos="left"
               style="margin-left: 10px; margin-top: 5px">Done</a>
            <a href="index.html" data-icon="home" data-direction="reverse" data-iconpos="notext"
               style="float: right; margin-right: 10px; margin-top: 5px"></a>
        </div>
    </div>

    <div data-role="page" id="testform_happy" data-theme="f">
        <div data-role="header">
            <a href="#testform_menu" data-icon="arrow-l" data-direction="reverse" data-iconpos="notext"></a>

            <h1>Happy Party</h1>
            <a href="#testform_description" data-icon="arrow-r" data-iconpos="notext"></a>
        </div>
        <div data-role="content">
            <label for="happy_initials">Initials:</label>
            <input type="text" name="happy_initials" id="happy_initials" value="" class="required"/>
        </div>
        <div data-role="footer" data-position="fixed" class="ui-btn-right" style="min-height:42px;">
            <a href="#testform_menu" data-icon="arrow-l" data-direction="reverse" data-iconpos="left"
               style="margin-left: 10px; margin-top: 5px">Done</a>
            <a href="index.html" data-icon="home" data-direction="reverse" data-iconpos="notext"
               style="float: right; margin-right: 10px; margin-top: 5px"></a>
        </div>
    </div>

    <div data-role="page" id="testform_description" data-theme="f">
        <div data-role="header">
            <a href="#testform_happy" data-icon="arrow-l" data-direction="reverse" data-iconpos="notext"></a>

            <h1>Description</h1>
            <a href="#testform_vehicle" data-icon="arrow-r" data-iconpos="notext"></a>
        </div>
        <div data-role="content">
            <label for="incident_date">Date of Incident:</label>
            <input type="date" name="incident_date" id="incident_date" value="" class="required"/>
         </div>
        <div data-role="footer" data-position="fixed" class="ui-btn-right" style="min-height:42px;">
            <a href="#testform_menu" data-icon="arrow-l" data-direction="reverse" data-iconpos="left"
               style="margin-left: 10px; margin-top: 5px">Done</a>
            <a href="index.html" data-icon="home" data-direction="reverse" data-iconpos="notext"
               style="float: right; margin-right: 10px; margin-top: 5px"></a>
        </div>
    </div>

    <div data-role="page" id="testform_vehicle" data-theme="f">
        <div data-role="header">
            <a href="#testform_description" data-icon="arrow-l" data-direction="reverse" data-iconpos="notext"></a>

            <h1>Vehicle</h1>
        </div>
        <div data-role="content">
            <label for="vehicle_registration_number">Registration Number:</label>
            <input type="text" name="vehicle_registration_number" id="vehicle_registration_number" value=""
                   class="required"/>
         </div>
        <div data-role="footer" data-position="fixed" class="ui-btn-right" style="min-height:42px;">
            <a href="#testform_menu" data-icon="arrow-l" data-direction="reverse" data-iconpos="left"
               style="margin-left: 10px; margin-top: 5px">Done</a>
            <a href="index.html" data-icon="home" data-direction="reverse" data-iconpos="notext"
               style="float: right; margin-right: 10px; margin-top: 5px"></a>
        </div>
    </div>
</form>
</body>
</html>

$('div:jqmData(role=“page”)).live('pageinit',function(){
$('form')。提交(函数(e){
警报(“提交”);
});
});
测试
欢乐派对 首字母: 描述 事件发生日期: 车辆 注册号码:
您正在这样做:

<script>
    $('div:jqmData(role="page")').live('pageinit', function() {
         $('form').submit(function(e) {
            alert("SUBMITTING");
        });
    });
</script>

$('div:jqmData(role=“page”)).live('pageinit',function(){
$('form')。提交(函数(e){
警报(“提交”);
});
});
我认为这是对每一页加载的射击,对吗

也许可以试试这样:

<script>
   $(function() {
      $('#submit_claim').click(function() {
        $('form').submit(function(e) {
          alert("SUBMITTING");
        });
      });
   });
</script>

$(函数(){
$(“#提交索赔”)。单击(函数(){
$('form')。提交(函数(e){
警报(“提交”);
});
});
});
您正在这样做:

<script>
    $('div:jqmData(role="page")').live('pageinit', function() {
         $('form').submit(function(e) {
            alert("SUBMITTING");
        });
    });
</script>

$('div:jqmData(role=“page”)).live('pageinit',function(){
$('form')。提交(函数(e){
警报(“提交”);
});
});
我认为这是对每一页加载的射击,对吗

也许可以试试这样:

<script>
   $(function() {
      $('#submit_claim').click(function() {
        $('form').submit(function(e) {
          alert("SUBMITTING");
        });
      });
   });
</script>

$(函数(){
$(“#提交索赔”)。单击(函数(){
$('form')。提交(函数(e){
警报(“提交”);
});
});
});

那么您想要一张表单覆盖多个页面?你在尝试自动提交吗?@PhillPafford我没有尝试自动提交。但是,是的,表格是多页的。submit事件触发多次,但只应触发一次。因此,您希望一个表单覆盖多个页面吗?你在尝试自动提交吗?@PhillPafford我没有尝试自动提交。但是,是的,表格是多页的。submit事件激发多次,但只应激发一次。