当表单有错误时,在 Javascript 的 Ninja 表单提交中弹出 Window
Pop Up Window on Ninja Form Submission with Javascript when a Form has Errors
我的 Ninja 表单上有一条自定义弹出消息,让用户知道表单正在处理中。这样做的目的是防止用户多次提交重复提交。我在 Wordpress 上的表单页面上有一个脚本 运行。
脚本会触发 'onClick',但如果用户错过必填字段,这会导致问题。生成了一条错误消息,但弹出窗口阻止用户返回并进行更改。是否有更好的操作来触发阻止这种情况的脚本?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<!-- include BlockUI -->
<script src="/js/jquery.blockUI.js' "></script>
<script type="text/javascript">
// unblock when ajax activity stops
$('.nf-form').on( 'submitResponse', function() { $.unblockUI(); });
$(document).on('click', '#nf-field-354', function() {
$.blockUI( {
message: '<h3>Please Wait While Your Registration Submits</h3><p>(We know, we don\'t like to wait either)</p>',
css: {
padding: '15px',
'text-align': 'center',
color: '#212121',
border: 'none',
backgroundColor:'rgba(255, 255, 255, 0.9)',
cursor: 'wait',
'-webkit-border-radius':'3px',
'-moz-border-radius': '3px',
'border-radius': '3px'
} } );
});
</script>
我通过更改“提交”按钮的样式找到了解决问题的不同方法,一旦值更改为 "Processing." 这不需要 JS,而且它不会弹出消息或灰色屏幕,它确实阻止用户提交同一表单的多个实例。我将此行添加到我的样式 sheet:
/* Ninja Forms Processing Hack */
input[value="Processing"], input[value="Processing"]:hover {
user-select : none !important;
-moz-user-select : none !important;
-webkit-user-select : none !important;
pointer-events: none !important;
opacity: .5 !important; }
可能没有必要标记每一行 !important
。我只是想确保它在页面样式中具有优先权。该功能取决于 pointer-events
,这会阻止元素被点击。请注意,使用它可以防止光标的任何自定义样式。
我的 Ninja 表单上有一条自定义弹出消息,让用户知道表单正在处理中。这样做的目的是防止用户多次提交重复提交。我在 Wordpress 上的表单页面上有一个脚本 运行。
脚本会触发 'onClick',但如果用户错过必填字段,这会导致问题。生成了一条错误消息,但弹出窗口阻止用户返回并进行更改。是否有更好的操作来触发阻止这种情况的脚本?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<!-- include BlockUI -->
<script src="/js/jquery.blockUI.js' "></script>
<script type="text/javascript">
// unblock when ajax activity stops
$('.nf-form').on( 'submitResponse', function() { $.unblockUI(); });
$(document).on('click', '#nf-field-354', function() {
$.blockUI( {
message: '<h3>Please Wait While Your Registration Submits</h3><p>(We know, we don\'t like to wait either)</p>',
css: {
padding: '15px',
'text-align': 'center',
color: '#212121',
border: 'none',
backgroundColor:'rgba(255, 255, 255, 0.9)',
cursor: 'wait',
'-webkit-border-radius':'3px',
'-moz-border-radius': '3px',
'border-radius': '3px'
} } );
});
</script>
我通过更改“提交”按钮的样式找到了解决问题的不同方法,一旦值更改为 "Processing." 这不需要 JS,而且它不会弹出消息或灰色屏幕,它确实阻止用户提交同一表单的多个实例。我将此行添加到我的样式 sheet:
/* Ninja Forms Processing Hack */
input[value="Processing"], input[value="Processing"]:hover {
user-select : none !important;
-moz-user-select : none !important;
-webkit-user-select : none !important;
pointer-events: none !important;
opacity: .5 !important; }
可能没有必要标记每一行 !important
。我只是想确保它在页面样式中具有优先权。该功能取决于 pointer-events
,这会阻止元素被点击。请注意,使用它可以防止光标的任何自定义样式。