在我的表单中已有操作时添加 JavaScript?

Adding JavaScript when I already have an action in my form?

我想使用 JavaScript 检查空字段和不正确的字符,但问题是我无法添加操作,因为表单操作已经指向 PHP 文件。当我将 JavaScript 放在操作区域时,它会起作用,但如果不这样做,我就无法让它起作用,不幸的是,我需要 PHP 作为操作。这是 HTML 代码:

<form action="http://127.0.0.1:5723/donate-now.php" method="post" name="donateNow" class="formMargin">

这是 JavaScript。

function validateForm() {
    var x = document.forms["donateNow"]["first"].value;
    if (x == null || x == "") {
        alert("Name must be filled out");
        return false;
    }
}

将您的表单标签更改为:

<form action="http://127.0.0.1:5723/donate-now.php" method="post" name="donateNow" class="formMargin" onsubmit="return validateForm();" >

使用 onSubmit

<form action="something.php" onSubmit="return isFormValid()">

javascript

function isFormValid(){
//validate here

return true
}

您可以使用 onSubmit 来调用您的验证表单函数:

<form action="http://127.0.0.1:5723/donate-now.php" method="post" name="donateNow" class="formMargin" onsubmit="validateForm()">

如果验证成功,您还应该将 validateForm() 修改为 return true:

function validateForm() {
    var x = document.forms["donateNow"]["first"].value;
    if (x == null || x == "") {
        alert("Name must be filled out");
        return false;
    } else {
        return true;
    }
}

可在此处找到更多信息:http://www.w3schools.com/jsref/event_onsubmit.asp

Execute a JavaScript when a form is submitted:

<form onsubmit="myFunction()">
  Enter name: <input type="text">
  <input type="submit">
</form>

<form action="http://127.0.0.1:5723/donate-now.php" method="post" name="donateNow" class="formMargin" onSubmit="return validateForm()">

试试这个

您需要使用 onSubmit 事件属性。这将在提交前触发验证脚本。如果 validateForm() returns false.

将不会提交表单
 <form action="http://127.0.0.1:5723/donate-now.php" method="post" name="donateNow" class="formMargin" onSubmit="return validateForm()">