2016-12-03 4 views
0

サーベイアプリケーションを作成しており、各サーベイのテンプレートタグを使用して再利用を促進しています。私はすべてのアンケートに使用する1つのhtmlファイルを持っており、特定のIDを使用してアンケートを選択するためにどのボタンが押されたかに応じて実行時にそれらを設定します。別のページにリダイレクトされるボタンのアトリビュートIDを取得する(リダイレクトページロード時に必要)

例:surveyTemplateで

<a href="SurveyTemplate.html" id = 'survey1'</a> 
<a href="SurveyTemplate.html" id = 'survey2'</a> 

、私はgenerateQuestionAndAnswersが調査データのアレイから使用して調査を移入する機能である

window.onload = function() { 
// event.target.id should be survey1 or survey2, is showing up undefined 
    generateQuestionsAndAnswers(idToSurveyMap[event.target.id]); 

}; 

を含むスクリプトの一部を挿入しました。

idSurveyMapは、html要素(文字列)のIDを配列である調査データにマップするマップです。

私が問題があるという重要なアイデアは、押されたリンクのIDを取得することです。 Event.target.idは私に未定義を与えています。この方法でアクセスできませんか?別の方法がありますか?

+0

新しいページが読み込まれた場合は、次のリンクでのイベントにアクセスすることはできません。しかし、SurveyTemplate.html?num = 1'や 'SurveyTemplate.html#1'のように、調査番号がURLそのものになるようにリンクをフォーマットすることはできます – fredrover

答えて

0

getパラメータの使用はいかがですか?このリンクをクリックすると

<a href="SurveyTemplate.html?id=1">survey1</a> 
<a href="SurveyTemplate.html?id=2">survey2</a> 

window.onload = function() { 
    var surveyId = window.location.search.replace('?id=', ''); 
    generateQuestionsAndAnswers(idToSurveyMap[surveyId]); 
}; 
関連する問題