现在已经过了一个小时的直接爆炸,似乎无法在任何地方找到解决方案。
我有一个有多个按钮的表单。
按钮:
第一个使用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();
}
**表格**
<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 =“submit”,但值仍未通过。我也试过让所有的按钮具有相同的名称,但这也没有用。
任何想法/建议将不胜感激。谢谢!
答案 0 :(得分:0)
type="button"
个元素未以表单
尝试更改为type="submit"
,默认情况下会提交表单而不需要任何javascript
答案 1 :(得分:0)
发现了其他人在努力解决这个问题。
问题是使用我在这里找到的Javascript行提交提交按钮。
我不是JS的专家,但无论出于何种原因,该功能阻止了发布Vars。所以我找到了一种解决方法,可以在函数外添加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" />
执行此操作后,按钮将不再起作用。因此,解决此问题的方法是将novalidate
添加到您的<form>
代码中。