我正在为两种语言(英语和印地语)做一个简单的html表单,所以我显示了ex <a href="#"> English </a> / <a href="#">Hindi
的两种语言的链接,之后我需要显示用户点击其中一个的相应语言的表单超链接。所以我在这里如何找出点击的语言链接?
<a href="#"> English </a> / <a href="#">Hindi
<? if($_SESSION['language']=='English'){ ?>
<form action="" method="post" name="englishform">
......
</form>
<? } else { ?>
<form action="" method="post" name="hindiform">
......
</form>
<? } ?>
答案 0 :(得分:2)
您无法使用java脚本更改PHP代码。由于PHP代码在服务器上运行。发送到客户端,然后可以在结果上运行java脚本。所以你有两个选择:
发送两个表格。使用css隐藏两者。 onclick显示相应的表单。
或AJAX解决方案。然后用户点击链接。使用java脚本从服务器(另一个URL)获取表单并显示在页面中。
答案 1 :(得分:1)
您可以为两个表单添加隐藏字段,其中包含所选语言。
<form action="" method="post" name="englishform">
<input type="hidden" name="language" value="en" />
...
</form>
<form action="" method="post" name="hindiform">
<input type="hidden" name="language" value="hi" />
...
</form>
答案 2 :(得分:0)
好吧,假设你只想根据超链接隐藏或显示不同的表单:
<a class="switcher" rel="englishform" href="#"> English </a> / <a class="switcher" rel="hindiform" href="#">Hindi</a>
<form action="" method="post" id="englishform" style="display:none">
......
</form>
<form action="" method="post" id="hindiform" style="display:none">
......
</form>
<script>
$("a.switcher").click(function(e){
var name = $(this).attr("rel");
$("#" + name).show();
e.preventDefault();
});
</script>
答案 3 :(得分:0)
我不太了解javascript,但是如果你得到jQuery,你可以执行以下操作:
<a href="en">English</a> / <a href="hi">Hindi</a>
<form action="" method="post" data-lang="en">
...
</form>
<form action="" method="post" data-lang="hi">
...
</form>
jQuery :(需要在实际页面上指定更多内容,否则它将以所有链接和表单为目标)
$('a').click(function(e){
e.preventDefault();
$('form').hide();
$('form[data-lang="'+$(this).attr('href')+'"]').show();
});
或者没有jQuery:
<? if(!$_GET['lang'] || ($_GET['lang'] != "en" && $_GET['lang'] != "hi")){ ?>
<a href="form.php?lang=en">English</a> / <a href="form.php?lang=hi">Hindi</a>
<? }elseif($_GET['lang'] == "en"){ ?>
<form action="" method="post">
...
</form>
<? }elseif($_GET['lang'] == "hi"){ ?>
<form action="" method="post" data-lang="hi">
...
</form>
<?
}
?>
答案 4 :(得分:0)
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.js"></script>
<script type="text/javascript">
$(function() {
$("#showEnglishForm").click(function()
{
$("#hindiFormDiv").hide();
$("#englishFormDiv").show();
});
$("#showHindiForm").click(function()
{
$("#hindiFormDiv").show();
$("#englishFormDiv").hide();
});
});
</script>
</head>
<body>
<a href="#" id="showEnglishForm">show English form</a>
<a href="#" id="showHindiForm">show Hindi form</a>
<div id="englishFormDiv" style="display:none;">
<h3>English form</h3>
<form action="" method="post" name="englishForm">
...
</form>
</div>
<div id="hindiFormDiv" style="display:none;">
<h3>Hindi form</h3>
<form action="" method="post" name="hindiForm">
...
</form>
</div>
</body>
</html>