【问题标题】:How to make search button redirect to search results page?如何使搜索按钮重定向到搜索结果页面?
【发布时间】:2021-01-10 22:05:43
【问题描述】:

我是一个初学者和新手,我有一个带有按钮类型的搜索表单,当我单击该按钮打开一个显示带有 url 的搜索结果的新窗口时,我想要提交。请问有人可以帮我解决这个问题吗??

php 代码:

function output_full_screen_search() {      
    
    ?>
<div id="full-screen-search">
        <button type="button" class="close" id="full-screen-search-close">X</button>
        <form role="search" method="get" action="https://hostingstudies.com/" target="_blank" id="full-screen-search-form">
            <div id="full-screen-search-container">
                <input type="text" name="s" placeholder="Search" id="full-screen-search-input" />
                <button type="submit">Search</button>
            </div>
        </form>
    </div>
<?php


}

}

jquery 代码:

jQuery( document ).ready( function( $ ) {
    
    // ... display the Full Screen search when:
    // 1. The user focuses on a search field, or
    // 2. The user clicks the Search button
    $( 'form[role=search] input, form[role=search] button' ).on( 'focus, click', function( event ) {
        // Prevent the default action
        //event.preventDefault();
    
        // Display the Full Screen Search
        $( '#full-screen-search' ).addClass( 'open' );
    
        // Focus on the Full Screen Search Input Field
        $( '#full-screen-search input' ).focus();
    } );

    // Hide the Full Screen search when the user clicks the close button
    $( '#full-screen-search button.close' ).on( 'click', function( event ) {
        // Prevent the default event
        event.preventDefault();

        // Hide the Full Screen Search
        $( '#full-screen-search' ).removeClass( 'open' );
    } );

} ); 

【问题讨论】:

  • 1.将target="_blank" 添加到&lt;form&gt; 标记。 2.删除event.preventDefault();
  • 请不要使用不相关的标签 - 或解释这与 PHP 有何关系。此外,显示您打开该新窗口的尝试
  • 您希望表单转到action= 属性中指定的地址吗?如果是这样,请从提交按钮处理程序中删除 event.preventDefault(); 行,它会停止提交操作的默认行为。
  • 没有结果?试试这个:jsfiddle.net/tjdfomze 适合我
  • 您需要更具体。 “不起作用”是无用的问题描述;当您发送表格时究竟会发生什么?你看控制台了吗?

标签: javascript php jquery url search


【解决方案1】:

从您的处理程序中删除event.preventDefault();,它会停止表单提交,这是表单的默认行为。

    $( 'form[role=search] input, form[role=search] button' ).on( 'focus, click', function( event ) {
        // Display the Full Screen Search
        $( '#full-screen-search' ).addClass( 'open' );
    
        // Focus on the Full Screen Search Input Field
        $( '#full-screen-search input' ).focus();
    } );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多