PHP & HTML Form with javascript onsubmit not executed
PHP & HTML Form with javascript onsubmit not executed
我有一个HTML表单要求用户输入。javascript函数用于验证表单,应该在执行PHP代码之前触发(使用onsubmit)。(js文件在标头<script type="text/javascript" src="js/javascript.js"></script>
中被引用)
但是,javascript永远不会被执行,而是PHP代码执行并(正确)包含新文件。
如何使 JavaScript 按要求执行?
文件:
<form name="details" action="" method="post"
onSubmit="return ValidateForm(details);">
...
<input type="submit" name="post-this-form" value="Next"/>
</form>
PHP文件:
if (isset($_POST['post-this-form']) and
$_POST['post-this-form'] == 'Next')
{
...
some php
...
include 'shipping-details.html.php';
exit();
}
编辑
这是请求的JavaScript。它已经过测试和工作,不涉及任何PHP。通过传递details
(表单的名称),我使所有表单字段都可访问。
function ValidateForm(details)
{
var firstName=document.forms.details.firstName.value;
var lastName=document.forms.details.lastName.value;
var streetAddress=document.forms.details.streetAddress.value;
var town=document.forms.details.town.value;
var city=document.forms.details.city.value;
var zip=document.forms.details.zip.value;
var country=document.forms.details.country.value;
var creditCard=document.forms.details.creditcard.value;
...
//Checks firstName
if ((firstName=="")||(!firstName.match(alphabetExpression)))
{
alert ("Invalid first name, please re-enter");
return false;
}
...
//Checks creditCard
if ((creditCard=="")||(!creditCard.match(numericExpression))||(creditCardLength!=16))
{
alert ("Invalid credit card entry, please re-enter");
return false;
}
}// end function
编辑 2
我在 JavaScript 的开头添加了alert ("Hi");
,但警报从未出现,这让我认为该函数根本没有执行。
编辑 3
我最初怀疑这个问题可能是由于PHP引起的,这是错误的。正如Jason在他的评论中提到的,问题出在javascript本身。这有点奇怪的想法,因为相同的javascript代码在没有PHP和我的本地机器上"独立"工作。需要考虑的因素太多了...感谢大家抽出宝贵时间看看我的问题!
以下是您必须了解的有关您尝试构建的函数的一些事项
function ValidateForm() {
this; // this contains the form name no need for any variable declaration
return true; // or false This is very important to continue the execution
// false stops the submittion
}
当您解决这两个问题时,它应该可以根据需要工作。
注释转换为答案
"我敢打赌有一个javascript错误。打开错误控制台。Ctrl+Shift+J 在 Firefox 中。
很高兴有帮助。
相关文章:
- 在浏览器检查表单之前运行javascript onsubmit
- Javascript onSubmit Event
- JavaScript, onsubmit
- HTML和JavaScript.onSubmit从不阻止发布表单
- JavaScript onSubmit 表单处理
- PHP & HTML Form with javascript onsubmit not executed
- 表单未触发javascript onsubmit事件
- Javascript OnSubmit不是't第二次工作
- 多个函数的javascript onsubmit事件check dons'不起作用
- Javascript onSubmit Validation
- HTML Javascript onsubmit忽略了我的Javascript函数
- Javascript:onSubmit函数在函数完成之前提交表单
- Javascript onsubmit="" not working
- Javascript onsubmit重定向失败
- Javascript onsubmit和2个函数错误
- Javascript onSubmit函数自动执行
- javascript onsubmit()没有按预期工作
- Javascript onsubmit with cgi action?
- JavaScript onsubmit preventDefault不能有条件地工作
- Javascript onsubmit更改字段值