HTML变量和文本值转移到PHP / javascript?

时间:2015-08-19 16:41:43

标签: javascript php jquery html

所以这就是我在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选择显示胡萝卜)。我可以这样做。

但这是最有效的方式吗?

1 个答案:

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