嗯,我想你真的不需要這個了。好吧。無論如何,我都會爲後人發佈它。
HTML
<form id="form">
<fieldset>
<legend>Please provide the following...</legend>
<p>
<label for="cname">Name (required, at least 2 characters)</label>
<input id="cname" name="name" minlength="2" type="text" required />
</p>
<p>
<label for="cemail">E-Mail (required)</label>
<input id="cemail" type="email" name="email" required />
</p>
<p>
<label for="curl">URL (optional)</label>
<input id="curl" type="url" name="url" />
</p>
<p>
<label for="ccomment">Your comment (required)</label>
<textarea id="ccomment" name="comment" required></textarea>
</p>
<p><input class="submit" type="submit" value="Submit"/></p>
</fieldset>
</form>
<div id="Achtung">
<h1>Achtung!</h1>
<p>You are about to provide the indicated information. Please be sure!</p>
</div>
的Javascript
(function env($, log) {
$(function load() {
var $form = $("#form"),
form = $form[0],
$Achtung = $('#Achtung'),
valid = {submitHandler: Achtung};
$form.validate(valid);
function Achtung() {
var buttons = [
{text: "Ok", click: ok},
{text: "Cancel", click: close}
],
dialog = {modal: true, buttons: buttons};
$Achtung.dialog(dialog);
function ok(event, ui) {
close(event, ui, "Submit Ok'd and will continue.");
form.submit();
}
function close(event, ui, msg) {
log(msg || 'Submit canceled by user.');
$Achtung.dialog("close");
}
}
// Just so the form does not submit; comment these
// lines to verify it works.
form.submit = function blocker(event, ui) {
return !log('The form.submit() was triggered and canceled.');
};
fill();
});
// Nothing to see here...
function fill(){
var $els = $(':input[type!=submit], textarea'),
d = ['oh', '[email protected]', location.href, 'oh'],
$el;
$.each(d, function fill(i, v){
$el = $($els[i]);
$el.is('input') ? $el.val(v) : $el.text(v);
});
}
})(jQuery, function z(){return !console.log.apply(console, arguments)});
http://jsfiddle.net/userdude/jULBx/
什麼是 '流行'? –
它是一個調用彈出div的變量,但無論如何我更新了代碼,對於混淆抱歉。 – muudless
我想你可能可以使用[命名空間事件處理程序](http://docs.jquery.com/Namespaced_Events)來幫助你討論你要走的兩步。或多或少,你需要防止'submit.validated'被觸發,直到*你已經運行'submit.unvalidated'。不過,我對jQuery驗證插件並不十分熟悉,所以我不得不考慮它來弄清楚。我在[本答案](http://jsfiddle.net/userdude/CMmDF/)中進行了驗證過程中演示了命名空間,但需要事先警告;有很多事情要做。但是,只要查找'event.value'語法,並嘗試跟蹤它的運行方式。 –