在会话变量

时间:2018-05-29 05:57:22

标签: javascript php jquery html

编辑:我改变了对业务的价值

我试图使用来自其他网页的会话值来更改字段。所以,我设置隐藏类型并存储从会话中收集的php值。当隐藏的字段值等于" Business"该字段显示,否则保持隐藏状态。但它没有改变它显示完整的形式。

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
        <meta charset=utf-8 />
        <title>JS Bin</title>
    </head>
    <body>
        <input type="hidden" id="myInput" value="Business" onload="myFunction">
        <table>
            <tr>
                <td>
                    <asp:Label ID="Label1" runat="server" Text="Category: " />
                    </td>
                    <td>
                    </td>
                </tr>
                <tr>
                    <table id="Other" style="display: none">
                        <tbody>
                            <tr>
                                <td>
                                    <input id="txtOthers" type="text" runat="server" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <input id="txtOthers" type="text" runat="server" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <input id="txtOthers" type="text" runat="server" />
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </tr>
            </table>
        </body>
    </html>

JS:

function myFunction() {
var x = document.getElementById("myInput").value;
if(x.value.match === "Business"){
document.getElementById("other").style.display = "block";
}
else{
document.getElementById("other").style.display = "none";
}

}

3 个答案:

答案 0 :(得分:0)

函数调用语法不正确,

<input type="hidden" id="myInput" value="Business" onload="myFunction">

更改为

 <input type="hidden" id="myInput" value="Business" onload="myFunction()">

答案 1 :(得分:0)

注意:您必须回显您的PHP值,或者未在输入字段上设置值。

检查输入字段,或者您可以尝试。

<body>
<?php
  if($value === "Business"){
 ?>
<input type="text" name = "values" id="myInput" value="<?php echo $value; ?>" >
 <?php 
  }else{
 ?>
 <input type="hidden" name = "values" id="myInput" value="<?php echo $value; ?>" >
 <?php }?>
<table>

答案 2 :(得分:0)

只需将表格标记包含在div中,例如

<div id="tablecontainer" style="display: none">
<table id="Other" style="display: none">
                        <tbody>
                            <tr>
                                <td>
                                    <input id="txtOthers" type="text" runat="server" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <input id="txtOthers" type="text" runat="server" />
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <input id="txtOthers" type="text" runat="server" />
                                </td>
                            </tr>
                        </tbody>
                    </table>
</div>

从文本输入中删除myFunction

<input type="hidden" id="myInput" value="Business">

如果您使用的是jquery,请使用document.ready

$(document).ready(function(){
   var fieldval = $("#myInput").val();
   if(fieldval == "Business"){
      $("#tablecontainer").css('display','block');
   }
   else{
      $("#tablecontainer").css('display','none');
   }
});

还要确保从会话中获取输入字段myInput的值。

希望它有效。