-2

我无法弄清楚为什么脚本不能与表单一起使用。为什么不$("form").submit(function()使用 id 调用表单form?这个脚本甚至没有执行,window.onbeforeunload所以我猜这个脚本有问题。有谁知道出了什么问题?

<form id="formID" class="access_form" name="form" method="post" action="site.com">          
    <div class="row">
        <label for="email">Email Address:</label>
        <input class="txt_email" type="text" id="email" name="email" value="" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" />
    </div>
    <div class="row">
        <input type="submit" class="btn_access"  value="Get Immediate Access" name="submit1" />
    </div>
</form>

JavaScript:

var formHasChanged = false;
var submitted = false; 

$(document).on('change', 'form.confirm-navigation-form input, form.confirm-navigation-form
select, form.confirm-navigation-form textarea', function (e) { 
    formHasChanged = true; 
}); 

$(document).ready(function () { 
    window.onbeforeunload = function (e) { 
        if (formHasChanged && !submitted) { 
            var message = "Please enter your email", e = e || window.event; 
            if (e) { 
                e.returnValue = message; 
            } 
            return message; 
        } 
    }
$("#formID").submit(function () { 
 submitted = true; 
});
});
4

1 回答 1

0

试试这个。表单的 id 是表单本身。所以使用 jQuery 选择这样的表单

$("#form").submit(function () {
  submitted = true;
}); 

或者

或者尝试为表单提供另一个 id,例如“formID”。然后像这样选择使用该 id。

$("#formID").submit(function () {
  submitted = true;
}); 
于 2012-09-02T07:38:35.120 回答