以下是我的情况:
我有一个很长的多页调查由webforms在drupal中构建。 这些问题不是必需的,但我们不希望用户只需点击“下一页”按钮就可以轻松跳过所有问题。
所以这就是我们所需要的:
当用户尝试点击"下一页"如果页面上显示任何空白字段,则会显示错误或警告消息,"您确定要跳过此问题吗?",以及旁边的跳过按钮。当用户点击跳过按钮时,消息消失,他们点击下一页按钮继续调查。
以下是我对此的看法:
我使用了webform验证模块来创建Not Empty验证并将其应用于字段。
webform_validation_validators.inc
中的:
case 'skip_if_empty':
foreach ($items as $key => $val) {
if (count($val) == 0) {
drupal_set_message(t('This field is empty.'), 'warning');
// do something, not sure about it here
}
}
另一个想法:
我使用Dismiss模块在错误消息旁边显示一个X按钮。 我可以在X按钮上添加一些功能,以便在单击时绕过验证吗?
以下是Dismiss模块的脚本:
(function ($) {
Drupal.behaviors.dismiss = {
attach: function (context) {
$('.messages').each(function () {
var flag = $(this).children().hasClass('dismiss');
if (!flag) {
$(this).prepend('' + Drupal.t('Close this message.') + '');
}
});
$('.dismiss').click(function () {
$(this).parent().hide('fast');
// some functions to bypass validation to the field?
});
}
}
})(jQuery);
我不知道在//之后该怎么做。或者还有其他想法可行吗?
答案 0 :(得分:0)
根据您的要求提及
以此为例
您已创建包含
字段的网络表单带有必填字段的名字 带有必填字段的姓氏
然后是下一步按钮
当用户单击下一个按钮然后显示错误,因为您已将字段设为必需
当您在每个字段旁边显示“关闭按钮”时。
当用户点击“关闭按钮”时,您必须使用jquery或drupal ajax删除字段的“required”属性
之后,当用户单击下一步按钮时,用户无法获得任何类型的必填字段验证错误。