加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP和HTML表单,javascript onsubmit未执行

发布时间:2020-12-13 16:15:52 所属栏目:PHP教程 来源:网络整理
导读:我有一个 HTML表单要求用户输入. javascript函数用于验证表单,并且应该在执行 PHP代码之前触发(使用onsubmit). (js文件在标题中引用 script type =“text / javascript”src =“js / javascript.js” / script) 然而,javascript永远不会被执行,而是PHP代码执
我有一个 HTML表单要求用户输入. javascript函数用于验证表单,并且应该在执行 PHP代码之前触发(使用onsubmit). (js文件在标题中引用< script type =“text / javascript”src =“js / javascript.js”>< / script>)

然而,javascript永远不会被执行,而是PHP代码执行并且(正确地)包含新文件.

如何根据需要执行javascript?

HTML文件:

<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.通过传递细节(表单的名称),我正在使所有表单字段可访问.

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的开头,警报永远不会出现,这让我觉得该功能根本没有执行.

编辑3

我最初怀疑这个问题可能是由于PHP造成的.正如杰森在评论中提到的,问题出在javascript本身.这是一个有点奇怪的想法,因为相同的JavaScript代码“没有PHP”和我的本地机器“独立”工作.需要考虑的因素很多…谢谢所有人花时间看看我的问题!

解决方法

评论转换为答案

“我打赌有一个javascript错误.打开错误控制台.在firefox中使用ctrl shift j.”

很高兴有帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读