php - 如何修复 javascript 和 php mysql 中不同页面问题的表单操作,

标签 php javascript html mysql

我想检查用户浏览器类型并单击表单提交按钮以根据浏览器类型对不同页面进行操作,但是当我使用 PHP while 循环时,<form xxxxxxx onSubmit="javascript function()">跑不了,走吧link/a.php有两个浏览器。如果我删除 while 循环,它可以成功运行,例如 Chrome 浏览器转到 a.php,IE 浏览器转到 b.php。如何修复它?代码如下。第一步是从 Quirksmode 导入检查浏览器类型的 javascript 代码。

那么这是一个 while 循环版本。

<script>
   function redirect(){
      if(BrowserDetect.browser == 'Chrome'){
         document.getElementById("albumlist").setAttribute("action", "link/a.php");
      }
      if(BrowserDetect.browser == 'Explorer'){
         document.getElementById("albumlist").setAttribute("action", "link/b.php");
      }
   }
</script>

<body></body> .

<?php

$result = mysql_query("SELECT * FROM album GROUP BY folderName ORDER BY id desc");

while($data = mysql_fetch_array($result)){

   $folderName = $data['folderName'];
   ...
   ...

?>

   <form name="albumlist" id="albumlist" method="post" action="link/a.php" target="_blank" onSubmit="redirect();">
      <input type="hidden" name="folderName" id="folderName" value="<?php echo $folderName; ?>" />
      <input type="submit" id="submitfolderlist" name="submitfolderlist" value="Submit" />
   </form>

<?php

}

?>

然后,没有 while 循环的版本只需删除所有关于 <?php while loop code ?> 的内容

最佳答案

将 JS 更改为:

<script>
   function redirect(form){
      if(BrowserDetect.browser == 'Chrome'){
         form.setAttribute("action", "link/a.php");
      }
      if(BrowserDetect.browser == 'Explorer'){
         form.setAttribute("action", "link/b.php");
      }
   }
</script>

然后将您的 PHP 更改为:

   <form name="albumlist" method="post" action="link/a.php" target="_blank" onSubmit="redirect(this);">
      <input type="hidden" name="folderName" id="folderName" value="<?php echo $folderName; ?>" />
      <input type="submit" name="submitfolderlist" value="Submit" />
   </form>

这消除了表单和提交按钮上的重复 ID。

关于php - 如何修复 javascript 和 php mysql 中不同页面问题的表单操作,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16975904/

相关文章:

php - zend gdata 和谷歌电子表格未连接

javascript - 响应式侧边栏选项卡和点击事件切换

javascript - 我们可以在 JavaScript 中实现对对象字面量的封装吗?

javascript - ASP.net 上的 JQuery DatePicker

html - Bootstrap 轮播在最后一张幻灯片后消失

php - HTML 表单 POST 与 GET 超时

PHP 不区分大小写等价于 strtr

php - 管理员登录屏幕不适用于 mysql 数据库

css - 窗口更改时更改图像 HTML 的位置

html - 2个图像在一个div中,中间有 slider