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();

イベントの戻り値を取得するにはどうすればよいですか?

すでにonclick機能がhtmlタグに記載されています。私が使いたかった:

$("#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

クリック イベントで 2 つの異なる関数を実行しようとしている場合、インライン コード (onclick="func()") を削除し、これをスクリプトに入れる必要があるかもしれません。

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

私はあなたの質問をよく理解していませんが...

于 2012-06-07T22:45:52.577 に答える