【问题标题】:Variable not sent to server with IE变量未通过 IE 发送到服务器
【发布时间】:2017-07-05 06:23:38
【问题描述】:

我在我的网站上的一个页面上使用复选框,我正在尝试使用 PHP 查看选中的复选框。

代码如下:

<input id=checkBoxChrome form="saveform" type="checkbox" name="checkbox[]" value="Chrome" checked >

以及相关的PHP:

public function save(Request $request) {
    if (count($request->checkbox) == 0) {
        \Session::flash ( 'error', 'Choose one browser minimum' );
        return Redirect::back();
    }

    $this->saving($request);

    $this->saveConfigs($request);

    \Session::flash ( 'success', 'Scenario saved.' );

    return redirect ( '/testscenarios' );
}

在 Firefox 和 Chrome 上,此代码返回成功,但在 IE 上返回错误。经过一番调查,我发现 $request->checkbox 在 Chrome 和 Firefox 中返回复选框,但在 IE 中没有。

知道为什么吗?

dd($request-&gt;all()); 命令给了我以下结果:

array:3 [▼
  "_token" => "TfE0jjLcxsAc69kWjTPAVL9BfJBTBjPILJP2rDqm"
  "scenario" => "6"
  "scripts" => "[[{"id":18,"elementid":51,"token":"","deleted":false},{"id":16,"elementid":52,"token":"","deleted":false}]]"
]

【问题讨论】:

  • 你能在 IE 的save() 方法的第一行转储 request:dd($request-&gt;all()); 的内容吗? (并在此处复制/粘贴内容)
  • 您能否将您的输入替换为:&lt;input id="checkBoxChrome" type="checkbox" name="checkbox[]" value="Chrome" checked="checked"&gt; 并重试?
  • 您是否在 HTML 中设置了&lt;!DOCTYPE html&gt;?使用旧版 IE 时,这可能会导致问题...
  • 上一个IE版本出现这个问题

标签: php html laravel internet-explorer cross-browser


【解决方案1】:

好的,我发现问题出在哪里! IE (HTML5) 不支持form="saveform" 属性,其他两个浏览器都支持。

【讨论】:

    猜你喜欢
    • 2016-07-01
    • 2013-03-10
    • 2022-01-23
    • 1970-01-01
    • 2012-09-08
    • 2011-06-08
    • 2013-03-02
    • 2011-11-06
    • 1970-01-01
    相关资源
    最近更新 更多