输入类型提交与输入类型按钮
input type submit vs input type button
我一直在尝试用PHP解决一个烦人的行为(我认为..)。也许你们中的一些人也遇到过同样的情况,并有一些想法。我有一个 html 表单,我使用一个带有 onClick 事件的元素来调用 javascript 函数。一旦脚本的内容被处理,我就会执行form.submit()指令。它基本上检查常见的东西,如字段长度等。
现在我的问题是,当我使用输入类型按钮时,我将其名称设置为 submit1,并且只是为了运行一个小测试,我设置了<form id="register" action="<?php echo($PHP_SELF) ?>" method="post">
然后我说:
<?php
if (isset($_POST["submit1"])) {
echo "Submit button was pressed";
die();
}
?>
但是,即使我的输入按钮的名称是 submit1,我也从未看到该消息。然后我将输入类型更改为提交,然后单击提交,我会看到消息,但唯一的问题是,即使我的 javascript 函数在表单中发现任何错误,在警报框上单击确定后,表单无论如何都会继续。它仅在提交类型=提交时执行此操作。
如果有人感兴趣,
我的按钮:第一次尝试:
<input type="button" name="submit1" class="submit" value="Register"
onclick="validateFields()" />
第二次尝试:
<input type="submit" name="submit1" class="submit" value="Create Account!"
onclick="validateFields()" />
对于java script
问题可能是你没有放return false
这就是为什么表单以任何方式提交的原因。
if(a.value == ""){
alert("Name is empty");
return false; // this will prevent your form to be submit if condition fails
}
而button
和submit
之间的区别在于submit
正在提交表单(posting form
),因此PHP
有资格通过$_POST
获得,但button
情况下表单没有提交,因此您无法在其他页面上获取值而不是使用Ajax
。
类似的问题在这里
要提交表单,输入字段的类型必须是 submit
,而不是 button
。
<input type="submit" name="submit1" class="submit" value="Create Account!"
onclick="validateFields()" />
您还可以执行以下操作:
<button type="submit" name="submit1" class="submit" onclick="validateFields()">
Create Account! </button>
而且,为了避免在出现错误时提交表单,您可以返回 false:
function validateFields() {
//do validation
if(failed) {
return false;
}
}
谢谢大家,我:)修复了它。
我将输入类型更改为按钮,并更改了我的onclick="function(); return false"
在我的原始JS代码中,我添加了:document.getElementById('myFormId').submit();
现在我的JS代码运行,直到所有错误都修复为止。谢谢。我的愚蠢错误。
- 在<输入类型=“;文件“/>
- 如何将输入类型值或id从一个jsp传递到另一个jsp页面
- 可以't将几个数字设置为<输入类型=“;数字“>
- 在输入类型日期中设置日期
- 如何将键入的文本从一个输入类型的文本复制到另一个
- 输入类型按钮返回历史记录并返回顶部
- 从HTML表单发布blob的表单输入类型是什么
- 输入类型文件的未捕获类型错误
- 如何在jQuery Mobile中设置100%宽度的输入类型日期
- 输入类型=文件验证停止其他输入类型验证
- 如何显示在输入类型文件中选择的文件
- jQuery Modal Popup-回发后输入类型设置为null
- 在控制器中将输入类型时间更改为秒
- 更改具有相同id的输入类型的所有值
- 对于每个输入类型,使用javascript获取值
- 输入类型范围在angularjs重复内不起作用
- 我如何使HTML5<输入类型=月份>以在所有浏览器上工作
- 如何调用两个函数是一种html输入类型
- 如何使按钮作为输入类型文件
- 可以设置输入类型=文件的文本框的高度