我有一个带有 target="_blank"和 onsubmit="return validateForm()"的表单,以及一个名为“wordList”的文本区域。这是我的 validateForm() 函数
function validateForm() {
var x = document.forms["form1"]["wordList"].value;
if (x == null || x == "") {
alert("Word list cannot be empty.");
return false;
}
}
这可以很好地测试空输入,但是我还需要验证 wordList 是否具有最小文本行数。我尝试在此 if 语句之后插入一个 php block ,但是通过调用“explode()”,无论是否有输入,它最终都会打开一个新选项卡。这就是我的意思:
function validateForm() {
var x = document.forms["form1"]["wordList"].value;
if (x == null || x == "") {
alert("Word list cannot be empty.");
return false;
}
<?php
$wordInput = explode("\n", str_replace("\r", "", $_POST['wordList']));
?>
}
我不确定当 php block 位于同一页面上时如何引用它,但无论哪种方式,每当我单击提交按钮时,即使文本区域为空,它也会在另一个选项卡中打开当前页面。
有没有比使用 php 更好的方法来计算和验证文本区域中的行数?
最佳答案
这是因为php代码在服务器端执行而不是客户端,所以你需要编写javascript替代代码而不是php代码...
在这里,无论您在 php 代码中编写什么,它都不会返回 true 或 false,并且您想要获取 wordList ...因此它将从客户端提交表单
关于javascript - 验证文本区域输入有困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37771854/