javascript - 获取选项值并附加到搜索作为附加关键字?

标签 javascript php jquery html wordpress

我有选择字段和搜索框。我希望用户选择一个食谱,然后在搜索框中按关键字搜索成分。搜索结果域应如下所示:https://www.domain.com?s=RECIPE+KEYWORD

我在下面创建的代码似乎没有附加 RECIPE 值,只有关键字。

<select id="recipe-select" class="form-style" name="recipeType">
    <option selected disabled>Select Your Recipe</option>
    <option value="Cakes" name="selectedRecipe">I want to make Cakes</option>
    <option value="Pies" name="selectedRecipe">I want to make Pies</option>
</select>
<div class="widget box" id="search-box">
    <div class="widget-search">
        <form action=" https://www.domain.com" method="post" onSubmit="search();return false;">
            <input name="s" class="form-style" type="text" placeholder="Search" id="searchbox">
            <button><i class="fa fa-search"></i></button>
        </form>
    </div>
</div>    

<script type="text/javascript">
    function search() {
        alert("View all results?");
        var a = document.getElementById("searchbox").value;
        a = "https://www.domain.com/?s=<?php echo $_POST['selectedRecipe']; ?>+" + a;
        a = a.replace(" ","+");
        alert(a);
        document.location = a;
    }
</script>

我希望搜索 URL 的结果如下所示:https://www.domain.com?s=Cakes+keyword

选项值自动附加为搜索关键字。以下似乎不起作用。

<?php echo $_POST['selectedRecipe']; ?>

感谢大家的投入!解决! :)

最佳答案

您应该使用 Javascript 而不是 PHP 获取食谱类型,因为 PHP 在您提交表单之前不会运行。此外,配方选择框不在表单中,也没有 name="selectedRecipe"。 (该名称在 <option> 上,但没有任何作用)。

function search() {
    alert("View all results?");
    var recipeType = document.getElementById("recipe-select").value;
    var keyword = document.getElementById("searchbox").value;
    a = "https://www.domain.com/?s=" + encodeURIComponent(recipeType) + " " + encodeURIComponent(keyword);
    a = a.replace(" ","+");
    alert(a);
    document.location = a;
}

关于javascript - 获取选项值并附加到搜索作为附加关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40357356/

相关文章:

Javascript regEx 电子邮件仅限 3 个域

php - 如何在 PHP 中检查不完整的 POST 请求

javascript - 将 HTTP header 时间戳转换为另一种日期时间格式

JQuery 工具选项卡与 JQuery UI 冲突

javascript - 调整大小功能 Canvas 在缩小的浏览器上加载并展开

javascript - Firebase - 计算在线用户

javascript - OnClick 时获取 JavaScript 或 JQuery 值中的复选框

javascript - 你如何在 Gulp 任务中使用 browserify?

php - 如何在我网站上的每张图片上制作一个小印章

javascript - 单击按钮显示/隐藏 colspan 特定行