[英]How to call a ASP function from onclick in the HTML?
我的HTML中有3個鏈接。 當我單擊其中之一時,會話中的變量必須更改。 我怎樣才能做到這一點?
<div id="eng">
<a href="#" onClick="setLanguage('en')";>
<img id="eng_img" src="bandiera01.png" />
</a>
</div>
<div id="rus">
<a href="#" onclick="setLanguage('ru');">
<img id="rus_img" src="bandiera02.png" />
</a>
</div>
<div id="ted">
<a href="#" onclick="setLanguage('de');">
<img id="ted_img" src="bandiera03.png" />
</a>
</div>
setLanguage(txt)是一個JavaScript函數,但我想在ASP中使用它以將其保存在會話中。
您需要將信息發送到服務器,可以通過普通鏈接發布或通過ajax發送。 我認為在這種情況下,最好通過普通鏈接發送,例如:
<div id="eng">
<a href="ChangeLanguage.asp?language=en">
<img id="eng_img" src="bandiera01.png" /></a>
</a>
</div>
<div id="rus">
<a href="ChangeLanguage.asp?language=ru">
<img id="rus_img" src="bandiera02.png" />
</a>
</div>
<div id="ted">
<a href="ChangeLanguage.asp?language=de">
<img id="ted_img" src="bandiera03.png" />
</a>
</div>
在目標頁面中,您將獲得鏈接的“語言”信息。
您可以通過以下兩種方法解決此問題:
將您的鏈接變成提交按鈕,將它們放在表單中,提交頁面服務器端以管理語言更改業務邏輯。 這是經典的asp方法。 您必須重建頁面服務器端。
讓setLanguage()
將ajax調用激發到一個ASP頁上,以檢索本地化的資源。 成功后,資源將映射到DOM的相應元素中:可以將此邏輯設置為其他函數:
HTML
<div class="lang">
<a href="#" data-lang="en">en</a>
</div>
<div class="lang">
<a href="#" data-lang="ru">ru</a>
</div>
<div class="lang">
<a href="#" data-lang="de">de</a>
</div>
腳本
(function($){
window.setLanguage = function(langCode){
$.ajax({
type: "GET",
url: "myLanguageHandler.asp",
data: { "languageCode": languageCode },
async: true,
error: function (req, status, message) {
//manage the error
},
success: function (data) {
mapPage(data);
}
});
/*
* for demo purpose only
* console.log('Set language: ' + langCode);
*/
};
$('.lang a').bind('click', function(e){
window.setLanguage($(e.target).attr('data-lang'));
return false;
});
})(jQuery)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.