gpt4 book ai didi

php - 一起使用 javascript 和 php

转载 作者:行者123 更新时间:2023-11-30 09:08:23 25 4
gpt4 key购买 nike

我有一个 PHP 表单,需要在提交时进行一些非常简单的验证。我宁愿在客户端进行验证,因为有相当多的服务器端验证恰好处理将表单值写入数据库。所以我只想调用一个 javascript 函数 onsubmit 来比较两个密码字段中的值。这是我得到的:

function validate(form){
var password = form.password.value;
var password2 = form.password2.value;
alert("password:"+password+" password2:" + password2);

if (password != password2) {
alert("not equal");
document.getElementByID("passwordError").style.display="inline";
return false;
}
alert("equal");
return true;
}

如果两个密码不匹配,将显示包含错误消息的默认隐藏 div。警报只是显示 password 和 password2 的值,然后再次指示它们是否匹配(不会在生产代码中使用)。

我正在使用输入类型=提交按钮,并调用表单标签中的函数:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" onsubmit="return validate(this);">

输入不匹配的值时,一切都按预期发出警报。我本来希望(并假设,基于过去的使用)如果函数返回 false,则不会发生实际提交。然而,它是。我通过在密码字段中输入不匹配的值来进行测试,警报清楚地向我显示了这些值和不相等的结果,但实际的表单操作仍在发生,它正在尝试写入我的数据库。

我是 PHP 新手;有什么东西不能让我以这种方式与 javascript 结合吗?如果它返回 true,使用 input type=button 并在函数本身中包含 submit() 会更好吗?

最佳答案

如果 JavaScript 发生错误,则不会返回 false,无论如何都会提交表单。

并且您的 javascript 中存在错误:getElementByID 应该是 getElementById

关于php - 一起使用 javascript 和 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2853363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com