在javascript中设置会话或php变量?

时间:2011-09-22 07:23:28

标签: php javascript html

我正在为两种语言(英语和印地语)做一个简单的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>
 <? } ?>

5 个答案:

答案 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>