提交了$ _GET表格以创建漂亮的URL

时间:2019-08-29 15:02:22

标签: javascript php jquery .htaccess url-rewriting

我正在重新格式化我的URL,以便将team.php?s=football重写为team/football/,我已经使用.htaccess中的以下内容设法做到了:

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^s/(.*)$ ./team.php?s=$1

现在输入localhost/proj/team/football将加载正确的有效页面。

我在$_GET上有一个sports.php表单,该表单提交到team.php,但是在提交时,该表单仍会创建URL team.php?s=football。如何更改表单提交的格式?

表格如下:

<form id="choosesport" action="team" method="get">
      <input type="hidden" name="s" value=""/>
      <svg>...</svg>
</form>

并随同JS根据单击的SVG元素填写input字段:

function sport(name) {
    $("form#choosesport").find("input[type='hidden']").val(name);
    $("form#choosesport").submit();
}

$(document).ready(function() {
    $("a#netballBtn").on('click', function() {
        sport("netball");
    });
    $("a#rugbyBtn").on('click', function() {
        sport("rugby");
    });
    $("a#badmintonBtn").on('click', function() {
        sport("badminton");
    });
    $("a#footballBtn").on('click', function() {
        sport("football");
    })
});

1 个答案:

答案 0 :(得分:2)

删除字段并将其添加到操作中

function sport(name) {
  const $form = $("form#choosesport");
  $form.find("input[type='hidden']").remove()
  $form.attr("action",$form.attr("action")+"/"+name+"/");
  $form.submit();
}

或使用Ajax:

function sport(name) {
  const $form = $("form#choosesport");
  $("#someContainer").load($form.attr("action")+"?s="+name); // or as above
}