为什么我的搜索查询返回未定义,而我的页面填充了术语的结果?使用业务催化剂

时间:2017-03-29 23:28:48

标签: javascript html search business-catalyst

我试图让搜索字词出现在网址中。我究竟做错了什么?

<form name="catsearchform74255" method="post" onsubmit="processSearch(this)" action="/Default.aspx?SiteSearchID=2248&ID=/search-results&amp;keywords=">
        <div class="input-field search-box">
            <input id="CAT_Search" type="search" name="CAT_Search" placeholder="What are you looking for?" class="white" required="true">
            <label class="label-icon" for="CAT_Search"><i class="material-icons">search</i></label>
            <i class="material-icons">close</i>
        </div>
         <script type="text/javascript">
        function processSearch(form) {
            form.action = form.action + CAT_Search.value;
        }  
    </script>
    </form>

2 个答案:

答案 0 :(得分:0)

  1. Device.BeginInvokeOnMainthread( () => async { await DisplayAlert("","Are you sure want to Logout?","Yes", "No"); }); 更改为method="post"
  2. 更新引用post变量的任何服务器端代码以引用get变量。例如,在PHP代码中,将method="get"更改为$_POST["CAT_Search"]
  3. 此外,$_GET["CAT_Search"] HTML属性的正确格式为requiredrequired=""

答案 1 :(得分:0)

代码

这可以使用JS完成,您无法编辑该方法,因为Business Catalyst需要此表单的帖子。

如果您将表单更改为以下内容:

<form name="catsearchform74255" id="searchForm" method="post" action="/Default.aspx?SiteSearchID=2248&ID=/search-results&amp;keywords=">
    <div class="search-box">
        <input class="cat_textbox_small" type="text" name="CAT_Search" id="CAT_Search">
        <input id="submitForm" onclick="submitFormScript()" type="button" class="cat_button" value="Search">
    </div>
</form>

然后添加以下jQuery:

function submitFormScript() {
    var searchAction = $("#searchForm").attr("action");
    searchAction = searchAction + $("#CAT_Search").val();
    $("#searchForm").attr("action", searchAction);
    $("#searchForm").submit();
}

解释

通过将ID添加到表单上的字段,然后从输入按钮中取出type="submit",我们可以在提交表单之前编辑表单操作。

在JS中,我们获取表单操作,添加搜索框的值(用户输入),然后将其设置回action形式的属性。之后,我们将要发送到下一页的URL,以便我们可以提交表单。