2012-04-07 13 views
2

JavaScript関数を呼び出すonclickイベントでアンカーを作成しました。 JavaScript関数は何らかの値を返します。他のJS関数でその値を使用したいと思います。JavaScript関数にonclick値を返します

たとえば loading()は、別のjs関数に渡される値を返します。戻り値を取得して保存するにはどうしたらいいですか?この値をその関数に渡しますか?

+1

:あなたは、JavaScript関数が閉鎖されているので、同じスコープで宣言されたローカル変数へのアクセス権を持っているという事実を使用することができますあなたが必要です。おそらく、あなたの質問を編集して、ユーザーエクスペリエンス(ユーザーの操作とシステムの応答)を正確に明確にする必要があります。 – Phrogz

+0

私は同意する...しかし、あなたの新しい、no downvotes以来。 –

答えて

2

内部関数で外部関数を呼び出すことはできますか?

また、別のイベントで戻り値を使用する必要がある場合は、変数を設定します。他の何らかののonclickイベントで

var retval; 
function outerFunc() 
{ 
    if(retval) alert(retval); 
} 

function innerFunc() 
{ 
    retval = 'test'; 
    return retval; 
} 

onclick="return innerFunc();" 

onclick="return outerFunc();" 
+0

状況はonclickが他のアンカーをクリックしながら呼び出される他のjs関数に格納して渡す必要がある値を返すようなものです。 – Ganesh

+0

Ahh ..変数を設定してみてください。私の例を更新します。 –

+0

-1 JavaScriptでイベントハンドラをアタッチするのではなく、 'onclick'属性を使用します。 – Phrogz

-1

これは何か? myFunction()があなたの元のonClickコードがある場合は

<a onClick="loading(myFunction());"> 

は、それがその後loadingに渡されます。

+0

実際には、私はその戻り値を格納し、後で同じ呼び出しで使用する必要があります。 – Ganesh

0

a)は、あなたの関数が格納された値を消費している別のページ上にある場合global variable例えば(also

var passVar=null; 

function A(){ 
    //set value 
    passVar='hello'; 
} 

function B(){ 
    //get value 
    alert(passVar); 
} 

B)を使用し、あなたはset01em()、getItem()を使うかもしれませんし、より多くのブラウザの先進的な機能を使用するかもしれません。rowser session storageメカニズム

+0

@ Phrogz-私は別のページで戻り値を使用したいので、Cookieに取り組んでいます。これをCookieに保存して、再度使用しました。 – Ganesh

0

コメントの中に、後で保存することが記載されています。以下のコメントによって証明、あなたは正確に何を説明するのこの質問に貧しい仕事をしてきたように

var clickedValue; // No need to set a value here, just declare is 

myAnchor.addEventListener('click',function(evt){ 
    // Call the other function, setting the 'this' scope to be the anchor 
    // The scope of the variable set it the one above 
    clickedValue = someFunction.call(myAnchor,evt); 
},false); 

/* later on… */ 

otherFunction(clickedValue); 
+0

私は、返された値を直ちに使用したくないというコメントに言及したという事実を説明するために私の答えを編集しました。 – Phrogz

関連する問題