【问题标题】:PHP - onClick doesn't seem to be workingPHP - onClick 似乎不起作用
【发布时间】:2014-12-01 01:15:06
【问题描述】:

我有一系列可供用户选择的下拉框。然后我想要两个不同的提交按钮,它们将对所选数据执行两种不同的操作。我正在尝试对提交按钮进行编码以运行选定的 php,但是当我单击该按钮时什么也不做。任何帮助表示赞赏,我的代码如下。 AFAIK 唯一相关的位是我的 formSubmit 函数和代码底部附近的输入标签。

编辑:我已经编辑了大部分代码并留下了我认为相关的部分。如果需要更多信息,请告诉我。

<!DOCTYPE html>
<?php
require 'config.php';  // Database connection
//////// End of connecting to database ////////
?>
<html>
<head>
<SCRIPT language="JavaScript">
//Scripts

function submitForm(action)
    {
        document.getElementById('f1').action = action;
        document.getElementById('f1').submit();
    }

</script>
</head>
<body>
<div>   
<?Php    

//Beginning of Form
echo "<form method=post name='f1' action =''>";
//Dropdown boxes are here


//This line is what is not working:
echo "<input type='submit' value='Careers' onclick=\"submitForm('rt.php')\">";
echo "</form>";
?>
</div>
</body>
</html>

【问题讨论】:

  • 抱歉,能否请您将这堵代码缩减为演示问题的简短示例?
  • 这是很多代码。你应该把它剪下来,以便说明你孤立地遇到的问题。在此过程中,您可能会发现问题。
  • @arkascha 你比我先回车!
  • 为什么不用JS的常规表单提交?
  • 我可以使用常规表单提交来对同一组数据执行两个不同的操作吗?另外,我已经编辑了大部分代码。

标签: php onclick form-submit


【解决方案1】:

不太清楚这个函数有什么问题,xe4me 可能有正确的答案。但是,我只是将我的 onClick 更改为这个并且它起作用了:

onClick=\"document.f1.action='rt.php'; document.f1.submit(); return true;\"

【讨论】:

    【解决方案2】:

    您在submitForm 函数中使用document.getElementById('f1')

    function submitForm(action)
    {
        document.getElementById('f1').action = action;
        document.getElementById('f1').submit();
    }
    

    但是由于这行代码,您的表单没有id 属性

    echo "<form method=post name='f1' action =''>";
    

    所以当您单击Careers 按钮时不会提交表单。您需要通过将上面的代码行更改为下面来将id='f1'属性添加到表单中

    echo "<form id='f1' method='post' name='f1' action =''>";
    

    【讨论】:

      【解决方案3】:

      试试 jQuery 方法:

      http://api.jquery.com/jquery.post/How to get ID of clicked element with jQuery

      每当单击任何按钮时,找到其 id 并基于此,使用 $.post 将数据发布到您想要的位置。

      【讨论】:

      • 我愿意对此进行调查,但我相信我的代码应该可以工作。
      【解决方案4】:

      您必须向按钮添加一个类并根据该类名调用 onclick:

       <?Php    
      
        ....
      
       echo "<input type='submit' class='submitter' data-action='rt.php' value='Careers' >";
       echo "</form>";
       ?>
      

      // 在 Javascript 中:

       document.getElementByClassName('submitter').onclick = function(){
        var action  = this.data('action');
      
         document.getElementById('f1').action = action;
         document.getElementById('f1').submit();
      
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-14
        • 1970-01-01
        • 1970-01-01
        • 2015-06-10
        • 2016-01-28
        • 2010-10-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多