2

我有一个链接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,我不需要提交表单。如果验证为真,我需要提交表单

4

5 回答 5

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});
于 2012-06-08T15:48:45.627 回答
1

您可以做的是创建一个 jQuery 事件对象并将其传递给单击处理程序。

var e = jQuery.Event('click');
$('#something').click(e)

if (e.validResult) {
    //action
}

如果验证成功,您必须稍微修改单击处理程序以获取事件对象并设置validResult属性。

function getReturnValue(e) {
    //some validation
    if (valid) {
        e.validResult= true;
    }
}
于 2012-06-18T04:59:44.900 回答
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/了解更多详情。

于 2015-09-20T13:28:24.407 回答
0
$("#something").click(function() {
    var x = getReturnValue();
});

这就是你想要的?

LE:这意味着你改变了

<a id="something"> Something </a>
于 2012-06-07T22:44:36.020 回答
0

您正在尝试在单击事件上运行两个不同的函数,也许您需要删除内联代码 (onclick="func()") 并将其放入您的脚本中

$("#something").click(
  function(){
    var returnValue = getReturnValue();
  }
);

虽然我不太明白你的问题...

于 2012-06-07T22:45:52.577 回答