- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个bootstrap-wizard如下:
<div class="wizard-card" data-cardname="credential">
<h3>Credential</h3>
<div class="wizard-input-section">
<p>Username</p>
<div class="form-group">
<div class="col-sm-6">
<input type="text" class="form-control" id="Busername" name="Busername" placeholder="Username" required data-parsley-type="alphanum" data-validate="checkNameAvailable" data-msg="Alphanumeric allowed only" />
</div>
</div>
<p>Password</p>
<div class="form-group">
<div class="col-sm-6">
<input type="password" class="form-control" id="Bpassword" name="Bpassword" placeholder="Password" />
</div>
</div>
<p>Re-type Password</p>
<div class="form-group">
<div class="col-sm-6">
<input type="password" class="form-control" id="Bpassowrd2" name="Bpassword2" placeholder="Retype Password"/>
</div>
</div>
</div>
</div>
输入<input type="text" class="form-control" id="Busername" name="Busername" placeholder="Username" required data-parsley-type="alphanum" data-validate="checkNameAvailable" data-msg="Alphanumeric allowed only" />
调用checkNameAvailable函数进行验证。
检查NameAvailable函数:它会调用 ajax 来检查该名称是否可用。
function checkNameAvailable(el){
if($("#"+$(el).attr('id')).parsley().isValid()){
var data = $(el).val();
if($(el).attr('id') == "Busername"){
var type = "B";
}else{
var type = "I";
}
$.ajax({
method: "POST",
url: "isUserAvailableCommon",
async: false,
data: {Busername: data, _token: $("#_token").val(), _type: type },
success: function(msg) {
var retValue = {};
if(msg == "OK"){
retValue.status = true;
console.log(retValue);
return retValue;
}else{
retValue.status = false;
console.log(retValue);
return retValue;
}
}
});
}
}
问题在于变量retValue
不会返回到 Bootstrap 向导验证。
但是,如果我这样尝试,它会起作用,但在使用 ajax 实现时则不起作用
function checkNameAvailable(el){
var retValue = {};
retValue.status = false;
return retValue;
}
知道如何让它与ajax一起工作吗?我已经尝试过 Javascript function not waiting for AJAX response 中描述的回调和方法但仍然无法正常工作。
最佳答案
您可以尝试像这样更改您的功能:
function checkNameAvailable(el){
var dfd = $.Deferred();
if($("#"+$(el).attr('id')).parsley().isValid()){
var data = $(el).val();
if($(el).attr('id') == "Busername"){
var type = "B";
}else{
var type = "I";
}
$.ajax({
method: "POST",
url: "isUserAvailableCommon",
data: {Busername: data, _token: $("#_token").val(), _type: type },
success: function(msg) {
var retValue = {};
if(msg == "OK"){
retValue.status = true;
console.log(retValue);
dfd.resolve(retValue);
}else{
retValue.status = false;
console.log(retValue);
dfd.resolve(retValue);
}
}
});
}
return dfd.promise();
}
// after this you can use
// checkNameAvailable in this
// way.
checkNameAvailable(el).done(function(retValue) {
console.log(retValue);
});
阅读我的评论和函数使用示例。当我们使用 Promise 时该代码可以是异步的。你不能 async: false - 这不是非常好的主意。
编辑:同步ajax请求不是一个好主意,但现有代码基本期望同步函数,所以你的函数必须是改成这样:
function checkNameAvailable(el) {
var result;
if ($("#" + $(el).attr('id')).parsley().isValid()) {
var data = $(el).val();
if ($(el).attr('id') == "Busername") {
var type = "B";
} else {
var type = "I";
}
$.ajax({
method: "POST",
url: "isUserAvailableCommon",
async: false,
data: {
Busername: data,
_token: $("#_token").val(),
_type: type
},
success: function(msg) {
var retValue = {};
if (msg == "OK") {
retValue.status = true;
console.log(retValue);
result = retValue;
} else {
retValue.status = false;
console.log(retValue);
result = retValue;
}
}
});
}
return result;
}
祝你好运。
编辑2:
我已经 fork 了项目存储库并添加了如何使用的示例异步进入验证器函数。这个解决方案有点脏hack 但比使用同步逻辑要好得多。
我还针对此更改提出了拉取请求。
关于Javascript 不等待使用 bootstrap-wizard.js 的 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29717827/
我想将按钮栏中的 org.eclipse.jface.wizard.Wizard 中的按钮文本更改为阿拉伯语?我的意思是我想将标签“下一步”按钮更改为“?????”。 最佳答案 向导标签的语言由 JF
我想在 ASP.NET MVC 中创建一个向导,类似于 ASP.NET webforms 中的向导控制功能。 做这个的最好方式是什么? 最佳答案 使用 ASP.NET MVC 我建议使用 javasc
今晚我正在和我的非技术妻子聊天。她在谈论自己是如何培训员工使用一些新软件的。该软件大量使用向导来完成任务。她对我的问题是“为什么巫师被称为“向导”?他们是由对《龙与地下城》感兴趣的 Nerd 制作的吗
我正在使用 https://github.com/mgonto/angular-wizard创建一个 Angular 向导,其步骤可以从路由参数中调用: .../step/1 .../step/2 等
我正在评估 ASP.NET 向导控件。我们需要从不同步骤收集数据、验证数据,最后我应该能够显示数据摘要。 我想知道小组中是否有人使用过此控件以及他们遇到了什么问题。该控件有使用限制吗? 最佳答案 如果
我在人们提交一些数据的表单上使用了 FuelUX 向导,我们希望将其分解为逻辑步骤。效果非常好。 现在我正在处理相同表单的编辑版本,它工作正常,但由于步骤已经加载了数据,我希望用户能够直接跳到步骤 X
我正在编写一个 Eclipse 插件,它利用 Wizard 和 WizardPage 类。 目前,每当我添加页面时,都会执行与该页面相关的代码。这不是我需要的,因为某些页面依赖于前面页面上提供的输入。
我已经实现了以下向导:
我需要构建一个小向导 looks like this您可以引导用户完成向导,并根据每个选择更新图像。由于 iPad 兼容性等一些原因,我无法像此网站上那样使用 Flash。仅使用 javascript
我有一个带有 Twitter Bootstrap 向导 的表单,我有几个图像,当我选择一个时,我必须在本地存储值并转到下一个选项卡 (o._nextTab). 当我单击图像时,它应该转到下一个选项卡,
我有一个向导控件,用户可以一步输入他的姓名、电子邮件地址、电话号码等。 当用户按向导的“下一步”按钮时,我将检查数据库以查看是否存在具有指定电话号码的现有帐户。 如果是这种情况,系统应该询问用户是否会
在 Django Wizard 的文档中我找到了这样的代码: {{ wizard.management_form }} {% if wizard.form.forms %} {{ wizard
先来看看官方介绍 使用表单收集用户输入是 Web 开发中要反复执行的一项任务。用来完成某项任务的一组表单通常称为“向导”。ASP.NET Wizard 控件简化了许多与生成多个表单和收集用户输入相
本文整理了Java中org.eclipse.jface.wizard.WizardSelectionPage类的一些代码示例,展示了WizardSelectionPage类的具体用法。这些代码示例主要
是否可以在 中编程设置当前显示的选项卡? 例如,我希望针对包含向导的同一页面的两个不同请求,选择不同的选项卡。 我目前正在尝试做的是拥有一个包含许多选项卡的向导,在第二个选项卡中我有一个重定向到另一
我的老板相信向导让用户的事情变得简单。 我认为他们有自己的位置,但我无法真正定义那个地方是什么。 我觉得把一些东西变成不需要它们的步骤是有危险的。 有谁知道我在哪里可以找到这些规则,或者甚至是一个指导
我有这个表单,我想在触发 onchange 事件时隐藏其中一个字段集。我在第一个字段集中有一个选择标签。当我从下拉列表中选择字段集 2 时,必须删除第二个字段集。
我使用 Visual Studio 2010 SP1 和包向导为扩展生成单元测试。单元测试通过但集成测试(未修改)在 UIThreadInvoker.Invoke 调用上失败并出现 NullRefer
我有一个 jFace 向导,我正在使用它来创建一个新的项目类型的 eclipse 插件。如下图所示,我在左侧有一个树查看器,在右侧有一个 SWT 组。我想要的是,当用户从 treeviewer 选择其
我必须做一个像这样的向导 THIS,我很容易地实现了它,它几乎可以工作,但是一个奇怪的错误阻止了我继续。事实上,当你在第一步时,“First”有点活跃/突出显示,但对我来说,当我滚动时,它从 Firs
我是一名优秀的程序员,十分优秀!