Javascript 多重<;按钮>;以单一形式-未传递给POST的值

Javascript 多重<;按钮>;以单一形式-未传递给POST的值,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,这是一个小时的直接狂欢,所以似乎找不到一个解决办法 我有一个有多个按钮的表单 按钮: 获取电子邮件 拯救 跳过 禁止 第一个使用Ajax从MySQL获取电子邮件地址。这个很好用 最后3个应刷新页面并根据值执行操作 问题是按钮标签没有传递到POST。所有其他表单字段都可以顺利通过 我使用Chrome构建了它,在Firefox和IE上进行了测试,同样的问题也出现了。没有提交值 下面是一些涉及到的JS <script type="text/javascript"> //sa

这是一个小时的直接狂欢,所以似乎找不到一个解决办法

我有一个有多个按钮的表单

按钮:

  • 获取电子邮件
  • 拯救
  • 跳过
  • 禁止
  • 第一个使用Ajax从MySQL获取电子邮件地址。这个很好用

    最后3个应刷新页面并根据值执行操作

    问题是按钮标签没有传递到POST。所有其他表单字段都可以顺利通过

    我使用Chrome构建了它,在Firefox和IE上进行了测试,同样的问题也出现了。没有提交值

    下面是一些涉及到的JS

        <script type="text/javascript">
        //saves and goes to next page
            function submitForm(action)
            {
                document.getElementById('ajaxform').action = action;
                document.getElementById('ajaxform').submit();
            }
    
    
    //保存并转到下一页
    函数提交表单(操作)
    {
    document.getElementById('ajaxform')。action=action;
    document.getElementById('ajaxform').submit();
    }
    
    **形式**

    <form name="ajaxform" id="ajaxform" action="inc/scripts/email_api.php" method="POST"  >
    <input type="text" name="fname" placeholder="First Name" id="fname" required />
    <input type="text" name="lname" placeholder="Last Name" id="lname" required/>
    <input type="hidden" value="<?php echo $domain;?>" name="domainName" id="domainName">
    <input type="hidden" value="<?php echo $article_id;?>" name="articleId" id="articleId">
    <button id="run-code" name="getEmail" onclick="return validateForm()" >Run Code</button>
    <input type="radio" value="blog" name="websiteType" id="blog">
    <input type="radio" value="junk" name="websiteType" id="junk">
    <input type="radio" value="guest" name="websiteType" id="guest">
    <input type="button" name="save" value="save" onclick="submitForm('<?php echo $_SERVER['PHP_SELF'];?>')" id="saveContinue" disabled />
    <input type="button" name="skip" value="skip" onclick="submitForm('<?php echo $_SERVER['PHP_SELF'];?>')" id="skip" />
    <input type="button" name="ban" value="ban" onclick="submitForm('<?php echo $_SERVER['PHP_SELF'];?>')" id="ban" />
    </form>
    
    
    
    type=“button”
    元素不会以表单形式提交


    尝试更改为
    type=“submit”
    ,默认情况下,它将在不需要任何javascript的情况下提交表单

    问题是使用我在这里找到的Javascript行提交提交按钮

    我不是JS方面的专家,但不管出于什么原因,该函数都阻止发送post变量。因此,我找到了一种解决方法,在按钮中添加函数外部的onclick

                        <input type="submit" name="save" value="save" onclick='this.form.action="<?php echo $_SERVER['PHP_SELF'];?>"' id="save" disabled />
                        <input type="submit" name="skip" value="skip" onclick='this.form.action="<?php echo $_SERVER['PHP_SELF'];?>"' id="skip" />
                        <input type="submit" name="ban" value="ban" onclick='this.form.action="<?php echo $_SERVER['PHP_SELF'];?>"' id="ban" />
    

    也尝试过这个,但不起作用。我以前从未遇到过这个问题,而且有多个这样的按钮。onclick指向新页面的原因是表单的操作转到ajax文件。我需要这样做。如果您通过JS提交表单,那么按钮值不会被提交,但是您可以将单击按钮的值传递到
    submitForm()
    ,并将其设置为
    type=“hidden”
    输入。如果您需要提交到URL 1,然后重定向到URL 2,为什么不使用Ajax进行提交?@nnnnnn我也可以看到这一点。我发现了一个更简单的解决方法,我刚刚在下面发布。谢谢你的帮助。