我在页面上有几个表单,其中包含一个按钮和一个隐藏的输入字段,其值已经预设:
<form action="product.html" method="get">
<fieldset>
<input style="display: none;" type="text" name="RSS" id="RSS" value="RSS" />
<input type="submit" value="Go"/>
</fieldset>
</form>
<form action="product.html" method="get">
<fieldset>
<input style="display: none;" type="text" name="RSS2" id="RSS2" value="RSS2" />
<input type="submit" value="Go"/>
</fieldset>
</form>
一旦他们点击任一表单上的Go按钮,它将重定向到product.html页面,其中特定div根据上面的值加载。
<div id="ID CHANGE TO OCCUR HERE to either be RSS or RSS2"></div>
我的问题是,如何在该div上更改该ID? 感谢
PS:公司服务器上没有启用PHP ...所以是啊..是啊......
答案 0 :(得分:0)
如果我理解正确,当程序控制转移到product.html时,您希望发现哪个表单值已经遇到(即用户单击了哪个表单)。
我无法想象你将如何仅使用HTML来实现这一目标。这是PHP或ASP .Net等服务器端语言的工作。
在PHP中非常简单。 请注意,您可以获取所有现有的HTML文件,只需将它们重命名为.php(例如product.php),它们仍然可以正常工作。
只需将它放在文件的顶部 - 实际上,这是完整的文件(只需复制/粘贴到您的服务器进行测试):
<强> product.php 强>
<?php
/* Below not required, but un-comment to see useful info:
echo '<pre>';
print_r($_REQUEST);
echo '<pre>';
*/
if (isset($_REQUEST['RSS'])) {
echo 'User clicked the RSS form';
} else if (isset($_REQUEST['RSS2'])) {
echo 'Sent here by the RSS2 form';
}
由于处理文件的名称已更改,请在尝试之前更改每个表单中的action=
行:
<form action="product.php" method="get">
<强>解释强>
提交表单时,表单元素(输入字段,单选按钮,复选框)将变为变量并发送到处理文档(action=
中指定的目标文档表格标签的属性。)
对于每个元素,变量名称是该元素的name=
属性,变量值是value=
属性,或者,对于输入字段,例如,无论是什么用户在按提交前键入字段。
将表单作为method="Get"
或method="POST"
发送之间的编程/功能差异很小,但post方法更安全,可以传输更多信息,因此我们大多数人都使用它。
最后,另一方面,有三种获取变量值的方法(PHP示例):
$newvar = $_GET['varname']; //if method="GET" was used
$newvar = $_POST['varname']; //if method="post" was used
$newvar = $_REQUEST['varname']; //works for both
如果您需要更多有关PHP的帮助,请在the New Boston或his own site上查看Alex Garret的一些免费十分钟视频。
答案 1 :(得分:0)
重新阅读你的问题,我把完整的例子放在一起。在目标页面中,您有两个DIV,并且您希望根据用户单击的形式显示其中一个。
以下是该解决方案的工作示例。复制/粘贴到两个名为:
的文件中 test.php - 无论您想要什么,都可以重命名此文件
product.php - 如果更改此名称,还必须更改表单的action=
个属性中的名称
<强> test.php的强>
<form action="product.php" method="get"> <!-- product.html -->
<fieldset>
<input type="hidden" name="RSS" id="RSS" value="RSS" />
<input type="submit" value="Go"/>
</fieldset>
</form>
<form action="product.php" method="get">
<fieldset>
<input type="hidden" name="RSS2" id="RSS2" value="RSS2" />
<input type="submit" value="Go"/>
</fieldset>
</form>
<强> product.php 强>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var whichone = $('#xfer').val();
//alert( whichone );
$('#' + whichone).show();
});
</script>
</head>
<body>
<input type="hidden" id="xfer" value="<?php echo ( isset($_REQUEST['RSS']) ? 'RSS' : 'RSS2' ) ; ?>">
<div id="RSS" style="display:none;">
<h1>RSS DIV</h1>
Here is some information regarding the RSS div.
</div><!-- #RSS -->
<div id="RSS2" style="display:none;">
<h1>RSS2 DIV</h1>
<i>Here is some <strong>different </strong>information regarding the RSS2 div.</i>
</div><!-- #RSS -->
</body>
</html>
答案 2 :(得分:0)
您可以使用javascript测试您的请求:
if(location.href.indexOf("RSS=RSS") > 0) {
var element = document.getElementById('RSS')
element.id = "RSS2";
element.name = "RSS2";
element.value = "RSS2";
}
这只是一个indexOf检查,你也可以解析整个查询字符串并将键/值对关联到一个数组中。见How can I get query string values in JavaScript?