所以这就是我在html中所拥有的:
$('label').addClass('active')
这里是相应的javascript:
<p><br><form name="edit" method="post">
<div><select name="Edi" id ="Edi" >
<option selected="selected">Select</option>
<option value="1.php">Apple</option>
<option value="1.php">Bannana</option>
<option value="2.php">Carrot</option>
</select>
<input onclick="return Edit();" type="submit" value="Edit"/></div>
</form>
这是我的问题。正如你可以看到我的选项Apple和Bannana打开相同的php页面。我要那个。但我还想要一个PHP中的变量,它可以存储Apple / Bannana,具体取决于下拉列表中选择的内容。 我在PHP中试过这个并没有用。
function Edit(){
if(document.forms['edit'].Edi.value == "Select")
{
alert("Please Select Edit Field");
return false;
}
else
{
window.open(Edi.options[Edi.selectedIndex].value);
return true;
}
}
我知道我可以为Apple(1.php)和Bannana(3.php)创建不同的PHP页面。但在我的程序中,创建一个页面只会是重复的代码。 (Apple和bannana只决定要存储哪个表)。此外,我可能会在将来添加更多选项,所以我不想继续复制代码。
我想到的是将变量放在javascript中,但是转移到PHP是不可能的。所以我决定创建额外的图层而不是创建复制的页面。 (1选中 - 显示苹果,bananna)(2选择显示胡萝卜)。我可以这样做。
但这是最有效的方式吗?
答案 0 :(得分:1)
您可以使用PHP的$_GET
数组来访问URL参数。
例如:
<option value="1.php?table=apple">Apple</option>
<option value="1.php?table=banana">Banana</option>
你的PHP:
$table = $_GET['table'];
如果变量可能丢失,您可以使用PHP ternary operator提供默认值:
$table = isset($_GET['table']) ? $_GET['table'] : 'apple';