gpt4 book ai didi

javascript - jquery.steps 和验证不起作用 - 表单内容不可见(不可见)

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:34:08 25 4
gpt4 key购买 nike

我已经问过这个问题一次,得到了一些有用的回复,将其标记为已回答并应用了所有内容。它似乎有效,但遗憾的是它没有。

问题是:不同步骤字段中的表单是空的。好吧,我无法判断是否每一步都是空的,因为我在第一步中看不到任何内容,也无法输入任何内容,因此无法继续下一步,因为验证似乎有效。

我不知道为什么。我坚持使用 jquery 步骤页面上给出的示例: http://www.jquery-steps.com/Examples#advanced-form

代码完全相同,但是:我的表格是空的。它看起来像这样: empty forms with jquery steps

我的代码是:

<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<meta charset="utf-8">
<script src="/Scripts/jquery-2.1.1.js"></script>
<script src="/Scripts/jquery.steps.js"></script>
<link href="/Content/jquery.steps.css" rel="stylesheet">
</head>

<body>
<form id="example-advanced-form" action="#">
<h3>Account</h3>
<fieldset>
<legend>Account Information</legend>

<label for="userName-2">User name *</label>
<input id="userName-2" name="userName" type="text" class="required">
<label for="password-2">Password *</label>
<input id="password-2" name="password" type="text" class="required">
<label for="confirm-2">Confirm Password *</label>
<input id="confirm-2" name="confirm" type="text" class="required">
<p>(*) Mandatory</p>
</fieldset>

<h3>Profile</h3>
<fieldset>
<legend>Profile Information</legend>

<label for="name-2">First name *</label>
<input id="name-2" name="name" type="text" class="required">
<label for="surname-2">Last name *</label>
<input id="surname-2" name="surname" type="text" class="required">
<label for="email-2">Email *</label>
<input id="email-2" name="email" type="text" class="required email">
<label for="address-2">Address</label>
<input id="address-2" name="address" type="text">
<label for="age-2">Age (The warning step will show up if age is less than 18) *</label>
<input id="age-2" name="age" type="text" class="required number">
<p>(*) Mandatory</p>
</fieldset>

<h3>Warning</h3>
<fieldset>
<legend>You are to young</legend>

<p>Please go away ;-)</p>
</fieldset>

<h3>Finish</h3>
<fieldset>
<legend>Terms and Conditions</legend>

<input id="acceptTerms-2" name="acceptTerms" type="checkbox" class="required"> <label for="acceptTerms-2">I agree with the Terms and Conditions.</label>
</fieldset>
</form>
</body>

<script>
var form = $("#example-advanced-form").show();

form.steps({
headerTag: "h3",
bodyTag: "fieldset",
transitionEffect: "slideLeft",
onStepChanging: function (event, currentIndex, newIndex) {
// Allways allow previous action even if the current form is not valid!
if (currentIndex > newIndex) {
return true;
}
// Forbid next action on "Warning" step if the user is to young
if (newIndex === 3 && Number($("#age-2").val()) < 18) {
return false;
}
// Needed in some cases if the user went back (clean up)
if (currentIndex < newIndex) {
// To remove error styles
form.find(".body:eq(" + newIndex + ") label.error").remove();
form.find(".body:eq(" + newIndex + ") .error").removeClass("error");
}
form.validate().settings.ignore = ":disabled,:hidden";
return form.valid();
},
onStepChanged: function (event, currentIndex, priorIndex) {
// Used to skip the "Warning" step if the user is old enough.
if (currentIndex === 2 && Number($("#age-2").val()) >= 18) {
form.steps("next");
}
// Used to skip the "Warning" step if the user is old enough and wants to the previous step.
if (currentIndex === 2 && priorIndex === 3) {
form.steps("previous");
}
},
onFinishing: function (event, currentIndex) {
form.validate().settings.ignore = ":disabled";
return form.valid();
},
onFinished: function (event, currentIndex) {
alert("Submitted!");
}
}).validate({
errorPlacement: function errorPlacement(error, element) { element.before(error); },
rules: {
confirm: {
equalTo: "#password-2"
}
}
});
</script>

</html>

有人可以帮忙吗?

最佳答案

.content 似乎没有任何宽度(查看上一个屏幕截图右上角的工具提示)。给它一些宽度:

.wizard > .content {
...
width: 100%;
}

关于javascript - jquery.steps 和验证不起作用 - 表单内容不可见(不可见),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27036392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com