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
<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我也可以看到这一点。我发现了一个更简单的解决方法,我刚刚在下面发布。谢谢你的帮助。