为什么Firefox在Safari没有获得<form> $ _GET变量?

时间:2017-11-11 10:42:12

标签: javascript php html firefox

我使用action="page2.php"按钮通过表单从第1页到第2页发送输入内容:

<form method="get" id="chatform" action="page2.php">
    <input type="text" style="margin-bottom:20px;" class="form-control" id="recipient" name="recipient" placeholder="username" value="">
</form>

按钮位于表单之外,但它包含它的名称:

<button type="submit" form="chatform" id="b9" style="font-size: 12px !important;" name="b9" class="buttonmenu toggleForms btn btn-secondary btn-block" style="float:left;">Chat</button>

我也用javascript加载输入:

$(".buttonmenu").click(function(){
$('#recipient').val("hellooooo"); }

问题是Safari的一切正常,但在Firefox中我没有得到变量$_GET['recipient']中的任何内容,我不明白为什么。

在第1页中,只有串联的表单,没有嵌套的froms。在Safari中,一切都在第2页完美运行:我在URL和内容中得到'recipient'变量的名称,在firefox中我只得到URL中'recipient'变量的名称,但变量为空 似乎Firefox无法从服务器获取$_GET['recipient']的内容,或运行php操作忽略javascript。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

1)确保您的表单不是(嵌套)在另一个表单元素中,如下所示: (同时确保其不在<tr><td><table>元素内

<form>
    ...

    <form>
        ...
    </form>

    ...
</form>

2)确保您的代码有效,下面的代码可以正常运行,请尝试一下,看看它是否有所作为

<强> page1.php中:

<form action="page2.php" method="GET" id="chatform">
  <input type="text" style="margin-bottom:20px;" class="form-control" id="recipient" name="recipient" placeholder="username" value="">
  <input type="submit" name="submit" value="SUBMIT">
</form>

<强>使page2.php:

$recipient = $_GET['recipient'];
echo $recipient;

3)尝试清除缓存和Cookie。有时表格可能会破坏firefox帮助中心提出的问题:

https://support.mozilla.org/en-US/questions/1144267

本文陈述......

  

许多网站问题可能是由损坏的Cookie或缓存造成的。

     
      
  • 清除缓存
  •   
  • 并删除Cookie

         

    警告! !这将使您退出登录的站点。   在地址栏中输入about:preferences。

  •   
  • 缓存;选择隐私。在历史记录下,选择Firefox将使用自定义   设置。按右侧显示的“显示Cookie”按钮。使用   搜索栏以查找网站。注意;可能不止一个   条目。删除所有这些。

  •   
  • 缓存;选择高级&gt;网络。横过   从缓存的Web内容,按立即清除。如果还有问题,   以安全模式启动Firefox {web link}应出现一个小对话框。   单击以安全模式启动(不刷新)。当你处于安全模式时;
  •   
     

在地址栏中键入about:preferences#advanced。

     

在“高级”下,选择“常规”。查找并关闭“使用硬件”   加速度。

4)确保文件中的文件100%正确!确保它确实是page2.php,并在开头尝试使用斜杠,如下所示:"/page2.php"

答案 1 :(得分:0)

解决

Firefox需要'event'对象作为函数的参数。

这是一行:

$(".buttomenu").click(function(event) {.....