javascript - 如何更改搜索栏的表单操作属性

标签 javascript

总的来说,我对 Javascript 和 Web 开发非常陌生,因此非常感谢您的帮助!我有一个设置简单搜索栏的表单。我希望表单根据用户在搜索栏中输入的内容进入网址。我查看了其他答案,但似乎没有一个适合我。相关代码如下:

<script type = 'text/javascript'>
    function formSubmit(element){
        var url = $("#search_form").attr("action");
        var newParam = element.value;
        url += "/" + newParam;
        $("#search_form").attr("action", url);
        $("#search_form")[0].submit();
    }
</script>

<form action='./search' method="post" id="search_form">
    {% csrf_token %}
    <label for="search_item">Search: </label>
    <input id="search_item" type="text" name="search_item" value="{{ search_item }}" pattern="[A-Za-z0-9]+">
    <input type="submit" value="Search" onsubmit="formSubmit(search_item)">

基本上,当用户输入内容时,我希望表单转到“/search/user_input_here”。但我似乎无法让它工作。

提前致谢!

最佳答案

你使用 jQuery,所以这很简单

 $("#search_form").submit(function(){
     $(this).attr('action', $(this).attr('action') + '/' + $('#search_item').val());
     return true;
 });

关于javascript - 如何更改搜索栏的表单操作属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35543289/

相关文章:

Javascript 更改 <ul> 标签中的类不起作用

javascript - 浏览器窗口中的所有选项卡是否共享一个 JavaScript 线程?

javascript - 如何向 Zoomable Icicle d3 图表添加文本?

javascript - 在IE11中测试时无法击中 Spring Controller

javascript - 如何删除一部分htmlparse?

javascript - AngularJS 中从对象到 ng-repeat 的绑定(bind)指令

javascript - CORS 请求在没有 chrome 插件的情况下无法工作

javascript - 没有加载器的 webpack 阻止我使用高级 JavaScript 语法,原生扩展语法解析错误

javascript - 如何按时间戳对javascript对象进行反向排序

javascript - Apache 强制注销?