Javascript Jquery临时回调问题-$。提示失败
我对$.prompt有一个问题,特别是内联表单的回调函数 现在,实际的具体问题如下。如果提交时Javascript Jquery临时回调问题-$。提示失败,javascript,jquery,jquery-ui,impromptu,Javascript,Jquery,Jquery Ui,Impromptu,我对$.prompt有一个问题,特别是内联表单的回调函数 现在,实际的具体问题如下。如果提交时email\u address字段为空,我无法获得$提示(“请为客户提供电子邮件地址”),但是如果我将其更改为alert(“请为客户提供电子邮件地址”),它将起作用 我猜这是一个范围问题,因为另一个$.prompt调用按预期工作,我假设这是因为它们位于$.post回调函数中 我一直在努力寻找大量关于回调表单功能的文档,虽然我觉得我理解e、v和f变量,但m(消息)不是我以前使用过的。当我将m记录到控制台日
email\u address
字段为空,我无法获得$提示(“请为客户提供电子邮件地址”)
,但是如果我将其更改为alert(“请为客户提供电子邮件地址”)
,它将起作用
我猜这是一个范围问题,因为另一个$.prompt
调用按预期工作,我假设这是因为它们位于$.post
回调函数中
我一直在努力寻找大量关于回调表单功能的文档,虽然我觉得我理解e
、v
和f
变量,但m
(消息)不是我以前使用过的。当我将m
记录到控制台日志时,它看起来像jQuery即兴对象,但是我不确定如何访问它的属性。我试过m.prompt()
和$.m.prompt()
,但这些只是我如何访问prompt
函数的猜测
Javascript
var txt = '<input type="text" name="email_address" value="" />';
function mycallbackform(e,v,m,f)
{
if(v != undefined)
{
if (v == true)
{
console.log(f);
if (f.email_address.length == 0)
{
console.log(m);
$.prompt('Please supply an email address for the customer');
}
else
{
$.post('". $this->view->url(array(), 'admin-create-user-from-checkout') ."', f, function(data) {
if(data.status)
{
$.prompt('Customer Record Created Successfully');
}
else
{
$.prompt('Customer Record could not be created');
$('#email_address').val($('#old_email_address').val());
}
}, 'json');
}
}
else
{
$('#email_address').val($('#old_email_address').val());
}
}
$.prompt(txt,{callback: mycallbackform, buttons: { Ok: true, Cancel: false }});
Object[div.jqimessage]
0
div.jqimessage
context
undefined
jquery
"1.7.2"
length
1
prevObject
Object[div#jqi_state_state0.jqi_state]
selector
".children(#jqi) #jqi_st...0.children(.jqimessage)"
constructor
function()
init
function()
_toggle
function()
add
function()
addClass
function()
affix
function()
after
function()
ajaxComplete
function()
ajaxError
function()
ajaxSend
function()
ajaxStart
function()
ajaxStop
function()
ajaxSuccess
function()
alert
function()
andSelf
function()
animate
function()
append
function()
appendTo
function()
attr
function()
before
function()
bind
function()
blur
function()
button
function()
carousel
function()
change
function()
children
function()
clearQueue
function()
click
function()
clone
function()
closest
function()
collapse
function()
contents
function()
contextmenu
function()
css
function()
data
function()
dblclick
function()
delay
function()
delegate
function()
dequeue
function()
detach
function()
die
function()
domManip
function()
dropdown
function()
each
function()
empty
function()
end
function()
eq
function()
error
function()
extend
function()
fadeIn
function()
fadeOut
function()
fadeTo
function()
fadeToggle
function()
filter
function()
find
function()
first
function()
focus
function()
focusin
function()
focusout
function()
get
function()
has
function()
hasClass
function()
height
function()
hide
function()
hover
function()
html
function()
index
function()
innerHeight
function()
innerWidth
function()
insertAfter
function()
insertBefore
function()
is
function()
keydown
function()
keypress
function()
keyup
function()
last
function()
live
function()
load
function()
map
function()
modal
function()
mousedown
function()
mouseenter
function()
mouseleave
function()
mousemove
function()
mouseout
function()
mouseover
function()
mouseup
function()
next
function()
nextAll
function()
nextUntil
function()
not
function()
off
function()
offset
function()
offsetParent
function()
on
function()
one
function()
outerHeight
function()
outerWidth
function()
parent
function()
parents
function()
parentsUntil
function()
popover
function()
position
function()
prepend
function()
prependTo
function()
prev
function()
prevAll
function()
prevUntil
function()
promise
function()
prompt
function()
promptDropIn
function()
prop
function()
push
push()
pushStack
function()
queue
function()
ready
function()
remove
function()
removeAttr
function()
removeClass
function()
removeData
function()
removeProp
function()
replaceAll
function()
replaceWith
function()
resize
function()
revmaxslide
function()
revnext
function()
revolution
function()
revpause
function()
revprev
function()
revresume
function()
revshowslide
function()
scroll
function()
scrollLeft
function()
scrollTop
function()
scrollspy
function()
select
function()
serialize
function()
serializeArray
function()
show
function()
siblings
function()
size
function()
slice
function()
slideDown
function()
slideToggle
function()
slideUp
function()
sort
sort()
splice
splice()
stop
function()
submit
function()
swipe
function()
tab
function()
text
function()
toArray
function()
toggle
function()
toggleClass
function()
tooltip
function()
transit
function()
transition
function()
trigger
function()
triggerHandler
function()
typeahead
function()
unbind
function()
undelegate
function()
unload
function()
unwrap
function()
val
function()
waitForImages
function()
width
function()
wrap
function()
wrapAll
function()
wrapInner
function()
__proto__
Object[]
问题解决了
@link: https://github.com/trentrichardson/jQuery-Impromptu/issues/6
引用
var txt = '<input type="text" name="email_address" value="" />';
function mycallbackform(e,v,m,f)
{
if(v != undefined)
{
if (v == true)
{
console.log(f);
if (f.email_address.length == 0)
{
console.log(m);
$.prompt('Please supply an email address for the customer');
}
else
{
$.post('". $this->view->url(array(), 'admin-create-user-from-checkout') ."', f, function(data) {
if(data.status)
{
$.prompt('Customer Record Created Successfully');
}
else
{
$.prompt('Customer Record could not be created');
$('#email_address').val($('#old_email_address').val());
}
}, 'json');
}
}
else
{
$('#email_address').val($('#old_email_address').val());
}
}
$.prompt(txt,{callback: mycallbackform, buttons: { Ok: true, Cancel: false }});
Object[div.jqimessage]
0
div.jqimessage
context
undefined
jquery
"1.7.2"
length
1
prevObject
Object[div#jqi_state_state0.jqi_state]
selector
".children(#jqi) #jqi_st...0.children(.jqimessage)"
constructor
function()
init
function()
_toggle
function()
add
function()
addClass
function()
affix
function()
after
function()
ajaxComplete
function()
ajaxError
function()
ajaxSend
function()
ajaxStart
function()
ajaxStop
function()
ajaxSuccess
function()
alert
function()
andSelf
function()
animate
function()
append
function()
appendTo
function()
attr
function()
before
function()
bind
function()
blur
function()
button
function()
carousel
function()
change
function()
children
function()
clearQueue
function()
click
function()
clone
function()
closest
function()
collapse
function()
contents
function()
contextmenu
function()
css
function()
data
function()
dblclick
function()
delay
function()
delegate
function()
dequeue
function()
detach
function()
die
function()
domManip
function()
dropdown
function()
each
function()
empty
function()
end
function()
eq
function()
error
function()
extend
function()
fadeIn
function()
fadeOut
function()
fadeTo
function()
fadeToggle
function()
filter
function()
find
function()
first
function()
focus
function()
focusin
function()
focusout
function()
get
function()
has
function()
hasClass
function()
height
function()
hide
function()
hover
function()
html
function()
index
function()
innerHeight
function()
innerWidth
function()
insertAfter
function()
insertBefore
function()
is
function()
keydown
function()
keypress
function()
keyup
function()
last
function()
live
function()
load
function()
map
function()
modal
function()
mousedown
function()
mouseenter
function()
mouseleave
function()
mousemove
function()
mouseout
function()
mouseover
function()
mouseup
function()
next
function()
nextAll
function()
nextUntil
function()
not
function()
off
function()
offset
function()
offsetParent
function()
on
function()
one
function()
outerHeight
function()
outerWidth
function()
parent
function()
parents
function()
parentsUntil
function()
popover
function()
position
function()
prepend
function()
prependTo
function()
prev
function()
prevAll
function()
prevUntil
function()
promise
function()
prompt
function()
promptDropIn
function()
prop
function()
push
push()
pushStack
function()
queue
function()
ready
function()
remove
function()
removeAttr
function()
removeClass
function()
removeData
function()
removeProp
function()
replaceAll
function()
replaceWith
function()
resize
function()
revmaxslide
function()
revnext
function()
revolution
function()
revpause
function()
revprev
function()
revresume
function()
revshowslide
function()
scroll
function()
scrollLeft
function()
scrollTop
function()
scrollspy
function()
select
function()
serialize
function()
serializeArray
function()
show
function()
siblings
function()
size
function()
slice
function()
slideDown
function()
slideToggle
function()
slideUp
function()
sort
sort()
splice
splice()
stop
function()
submit
function()
swipe
function()
tab
function()
text
function()
toArray
function()
toggle
function()
toggleClass
function()
tooltip
function()
transit
function()
transition
function()
trigger
function()
triggerHandler
function()
typeahead
function()
unbind
function()
undelegate
function()
unload
function()
unwrap
function()
val
function()
waitForImages
function()
width
function()
wrap
function()
wrapAll
function()
wrapInner
function()
__proto__
Object[]
在新的事件系统中,回调绑定到提示符上。因此,必须在销毁提示之前调用回调。“即兴”不适用于同时进行多个提示
如果您想解决这个问题,一个简单的解决方案是设置超时(10,function(){$.prompt(…);});在回调的内部。这将使上一个提示有机会关闭
固定Javascript
var txt = '<input type="text" name="email_address" value="" />';
function mycallbackform(e,v,m,f)
{
if(v != undefined)
{
if (v == true)
{
if (f.email_address.length == 0)
{
setTimeout(function(){ $.prompt('Please supply an email address for the customer'); }, 10);
}
else
{
$.post('". $this->view->url(array(), 'admin-create-user-from-checkout') ."', f, function(data) {
if(data.status)
{
$.prompt('Customer Record Created Successfully');
}
else
{
$.prompt('Customer Record could not be created');
$('#email_address').val($('#old_email_address').val());
}
}, 'json');
}
}
else
{
$('#email_address').val($('#old_email_address').val());
}
}
$.prompt(txt,{callback: mycallbackform, buttons: { Ok: true, Cancel: false }});
var-txt='';
函数mycallbackform(e,v,m,f)
{
如果(v!=未定义)
{
如果(v==true)
{
如果(f.email_address.length==0)
{
setTimeout(函数(){$.prompt('请为客户提供电子邮件地址');},10);
}
其他的
{
$.post(““$this->view->url(array(),'admin create user from checkout')。”,f,函数(数据){
if(数据状态)
{
$.prompt('已成功创建客户记录');
}
其他的
{
$.prompt('无法创建客户记录');
$('电子邮件地址').val($('旧电子邮件地址').val());
}
}“json”);
}
}
其他的
{
$('电子邮件地址').val($('旧电子邮件地址').val());
}
}
$.prompt(txt,{callback:mycallbackform,按钮:{Ok:true,Cancel:false}});
问题已解决
@link: https://github.com/trentrichardson/jQuery-Impromptu/issues/6
引用
var txt = '<input type="text" name="email_address" value="" />';
function mycallbackform(e,v,m,f)
{
if(v != undefined)
{
if (v == true)
{
console.log(f);
if (f.email_address.length == 0)
{
console.log(m);
$.prompt('Please supply an email address for the customer');
}
else
{
$.post('". $this->view->url(array(), 'admin-create-user-from-checkout') ."', f, function(data) {
if(data.status)
{
$.prompt('Customer Record Created Successfully');
}
else
{
$.prompt('Customer Record could not be created');
$('#email_address').val($('#old_email_address').val());
}
}, 'json');
}
}
else
{
$('#email_address').val($('#old_email_address').val());
}
}
$.prompt(txt,{callback: mycallbackform, buttons: { Ok: true, Cancel: false }});
Object[div.jqimessage]
0
div.jqimessage
context
undefined
jquery
"1.7.2"
length
1
prevObject
Object[div#jqi_state_state0.jqi_state]
selector
".children(#jqi) #jqi_st...0.children(.jqimessage)"
constructor
function()
init
function()
_toggle
function()
add
function()
addClass
function()
affix
function()
after
function()
ajaxComplete
function()
ajaxError
function()
ajaxSend
function()
ajaxStart
function()
ajaxStop
function()
ajaxSuccess
function()
alert
function()
andSelf
function()
animate
function()
append
function()
appendTo
function()
attr
function()
before
function()
bind
function()
blur
function()
button
function()
carousel
function()
change
function()
children
function()
clearQueue
function()
click
function()
clone
function()
closest
function()
collapse
function()
contents
function()
contextmenu
function()
css
function()
data
function()
dblclick
function()
delay
function()
delegate
function()
dequeue
function()
detach
function()
die
function()
domManip
function()
dropdown
function()
each
function()
empty
function()
end
function()
eq
function()
error
function()
extend
function()
fadeIn
function()
fadeOut
function()
fadeTo
function()
fadeToggle
function()
filter
function()
find
function()
first
function()
focus
function()
focusin
function()
focusout
function()
get
function()
has
function()
hasClass
function()
height
function()
hide
function()
hover
function()
html
function()
index
function()
innerHeight
function()
innerWidth
function()
insertAfter
function()
insertBefore
function()
is
function()
keydown
function()
keypress
function()
keyup
function()
last
function()
live
function()
load
function()
map
function()
modal
function()
mousedown
function()
mouseenter
function()
mouseleave
function()
mousemove
function()
mouseout
function()
mouseover
function()
mouseup
function()
next
function()
nextAll
function()
nextUntil
function()
not
function()
off
function()
offset
function()
offsetParent
function()
on
function()
one
function()
outerHeight
function()
outerWidth
function()
parent
function()
parents
function()
parentsUntil
function()
popover
function()
position
function()
prepend
function()
prependTo
function()
prev
function()
prevAll
function()
prevUntil
function()
promise
function()
prompt
function()
promptDropIn
function()
prop
function()
push
push()
pushStack
function()
queue
function()
ready
function()
remove
function()
removeAttr
function()
removeClass
function()
removeData
function()
removeProp
function()
replaceAll
function()
replaceWith
function()
resize
function()
revmaxslide
function()
revnext
function()
revolution
function()
revpause
function()
revprev
function()
revresume
function()
revshowslide
function()
scroll
function()
scrollLeft
function()
scrollTop
function()
scrollspy
function()
select
function()
serialize
function()
serializeArray
function()
show
function()
siblings
function()
size
function()
slice
function()
slideDown
function()
slideToggle
function()
slideUp
function()
sort
sort()
splice
splice()
stop
function()
submit
function()
swipe
function()
tab
function()
text
function()
toArray
function()
toggle
function()
toggleClass
function()
tooltip
function()
transit
function()
transition
function()
trigger
function()
triggerHandler
function()
typeahead
function()
unbind
function()
undelegate
function()
unload
function()
unwrap
function()
val
function()
waitForImages
function()
width
function()
wrap
function()
wrapAll
function()
wrapInner
function()
__proto__
Object[]
在新的事件系统中,回调绑定到提示符上。因此必须在销毁提示符之前调用回调。Impromptu不适用于一次多个提示符
如果您想解决这个问题,一个简单的解决方案是在回调函数中设置timeout(10,function(){$.prompt(…);});这将使上一个提示符有机会关闭
固定Javascript
var txt = '<input type="text" name="email_address" value="" />';
function mycallbackform(e,v,m,f)
{
if(v != undefined)
{
if (v == true)
{
if (f.email_address.length == 0)
{
setTimeout(function(){ $.prompt('Please supply an email address for the customer'); }, 10);
}
else
{
$.post('". $this->view->url(array(), 'admin-create-user-from-checkout') ."', f, function(data) {
if(data.status)
{
$.prompt('Customer Record Created Successfully');
}
else
{
$.prompt('Customer Record could not be created');
$('#email_address').val($('#old_email_address').val());
}
}, 'json');
}
}
else
{
$('#email_address').val($('#old_email_address').val());
}
}
$.prompt(txt,{callback: mycallbackform, buttons: { Ok: true, Cancel: false }});
var-txt='';
函数mycallbackform(e,v,m,f)
{
如果(v!=未定义)
{
如果(v==true)
{
如果(f.email_address.length==0)
{
setTimeout(函数(){$.prompt('请为客户提供电子邮件地址');},10);
}
其他的
{
$.post(““$this->view->url(array(),'admin create user from checkout')。”,f,函数(数据){
if(数据状态)
{
$.prompt('已成功创建客户记录');
}
其他的
{
$.prompt('无法创建客户记录');
$('电子邮件地址').val($('旧电子邮件地址').val());
}
}“json”);
}
}
其他的
{
$('电子邮件地址').val($('旧电子邮件地址').val());
}
}
$.prompt(txt,{callback:mycallbackform,按钮:{Ok:true,Cancel:false}});