我有id="something"
的链接:
HTML
<a id="something" onclick="getReturnValue()"> Something </a>
的javascript
function getReturnValue(){
//some validation
if(validation fails){
return false;
}else{
return true;
}
}
我需要在使用时获取返回值:
$("#something").click();
如何获取事件的返回值?
html标记中已经提到了onclick函数。我想用:
$("#something").click();
从那以后我想获得回报价值。
由于我必须在多个地方使用它,我不想一次又一次地写getReturnValue()
方法:
click(function(){ getReturnValue() })
我需要这样做
if($("#something").click() == true){
form.submit();
}
click()将调用getReturnValue(),它将进行一些验证。如果验证失败,则返回false,我不需要提交表单。如果验证成立,我需要提交表格
答案 0 :(得分:1)
要进行某些表单验证,您可以执行以下操作:
$('#myForm').submit(function(e) {
if () {//Validation rules failed
e.preventDefault(); //Prevent browsers from submitting
}
//Form is valid do nothing and let the form submit
});
现在按下按钮:
$("#something").click(function() {$('#myForm').submit();//Calls function from above});
答案 1 :(得分:1)
您可以做的是创建一个jQuery事件对象并将其传递给click处理程序。
var e = jQuery.Event('click');
$('#something').click(e)
if (e.validResult) {
//action
}
如果验证成功,您必须稍微修改点击处理程序以获取事件对象并设置validResult
属性。
function getReturnValue(e) {
//some validation
if (valid) {
e.validResult= true;
}
}
答案 2 :(得分:1)
以下是有关如何访问 return data from event handler
的示例。
var a;
$(document).on('a', function(e){
$(document).trigger(a = $.Event('sum', {datas: e.datas}));
});
$(document).on('sum', function(e){
return e.datas;
});
$(document).trigger($.Event('a', {datas: [1,2,3]}));
console.log(a.result);//[1,2,3]
你改变它的目的。点击此处https://api.jquery.com/event.result/了解更多详情。
答案 3 :(得分:0)
$("#something").click(function() {
var x = getReturnValue();
});
这是你想要的吗?
LE:这意味着你改变了
<a id="something"> Something </a>
答案 4 :(得分:0)
你试图在点击事件上运行两个不同的功能, 也许你需要删除内联代码(onclick =“func()”)并将其放在你的脚本中
$("#something").click(
function(){
var returnValue = getReturnValue();
}
);
我真的不明白你的问题......