我的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中使用它来保存它。
答案 0 :(得分:1)
您需要将信息发送到服务器,您可以通过普通链接发布或通过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>
在目的地页面中,您可以获得链接的“语言”信息。
答案 1 :(得分:0)
您可以通过以下几种方式解决此问题:
将您的链接转换为提交按钮,将它们放在表单中,提交页面服务器端以管理语言更改业务逻辑。这是一种经典的asp方法。您必须重建页面服务器端。
让setLanguage()
激活对检索本地化资源的asp页面的ajax调用。成功时,资源被映射到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>
<强> SCRIPT 强>
(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)