使用javascript验证文本字段中的输入(需要为两个值之一)

标记

长期的读者,第一次的海报。我是Java的新手,但是一段时间以来我一直在修补HTML,PHP和SQL。总之,长话短说,我的大学老师曾给我们分配了一些伪代码,我决定看看是否可以使用Javascript将其转换为可工作的形式。我已经提交了作业,不用担心,您不是在帮我作弊。我只想看看这是否可以用Javascript来完成,这可能是不切实际的:

本周有3部经典电影在售:1.星球大战2. ET 3.夺宝奇兵》。

用户必须输入他们想要看的电影的编号。如果输入的值是<1或> 3,则页面应返回错误。

用户可以选择流式传输或下载电影,并且需要输入文本框S进行流传输,或输入D进行下载。

到目前为止,我需要帮助的是验证来自流/下载文本框的输入。到目前为止,我的代码是这样的:

<p id="welcome">Welcome to MovieStream! Would you like to Stream or Download   
your movies? Type S for stream, D for download</p>
<form>
<input type="text" id="purchaseType">
<input type="submit" action="validateForm()">
</form>
<script type="text/javascript">
function validateForm() {

if (document.getElementById("purchaseType").value != S || D) {
    alert("Please type S to stream the movie, or D to download");
}
}
</script>

到目前为止,这是我所了解的。当我单击“提交”时,什么也没发生(我什至尝试过

document.getElementById("welcome").innerHTML += "Please type S to stream the movie, or D to Download");

但它仍然不起作用。我认为这与“ .value!= S || D”区域有关,但我似乎在任何地方都找不到任何信息。仅使用Javascript还能进行此操作吗?我真的希望这是有道理的,希望有人会为我解答。谢谢 :)

亚历山大·邦达(Alexander Bondar)

您需要将输入的期望值与字符串进行比较:

if (document.getElementById("purchaseType").value != 'S' && document.getElementById("purchaseType").value != 'D') {

(单引号)

更新:

这是您需要更改的部分:

  • 为了防止将表单发送到服务器,您需要onsubmit回调
  • #error每次单击后替换内容而不是附加(相同)错误消息

function validateForm() {

    if (document.getElementById("purchaseType").value != 'S' && document.getElementById("purchaseType").value != 'D') {
        document.getElementById("error").innerHTML = "Please type S to stream the movie, or D to download";

        return false;
    }

    return true;
}
<form onsubmit="return validateForm()">
    <input type="text" id="purchaseType">
    <input type="submit">
</form>

<p id="error"></p>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Javascript,如何在同一个输入类型的文本字段中显示两个值?

Laravel-验证| 输入字段应为两个值之一

在iOS的单个文本字段中验证两个值

两个具有相似属性且无法在watir中输入值的文本字段

根据其他两个输入来更改文本字段的输入值

Vee验证需要两个字段之一

两个文本字段之间的验证,vuetify

附加两个文本字段值并显示在第三个文本字段中

匹配两个文本字段的输入

在html中一起验证两个文本字段

如何在材料UI中的文本字段中使两个输入装饰彼此相邻

Python + Glade + PyGObject。如何一次获得两个文本字段的值?

Laravel 验证:匹配两个值之一

Laravel验证检查数据库中的值是否等于两个值之一

Swift-添加在两个文本字段中捕获的值

如何使用 Vuetify 在同一行上放置两个文本字段?

JSF中的输入文本字段验证

SwiftUI验证文本字段中的输入

验证GUI中的文本字段输入

jQuery 验证器验证错误 - 需要两个字段之一

SwiftUI-使用var或let从两个文本字段中添加值

使用数组中的两个文本字段填充组合框

需要使用argparse的两个参数之一

限制一个文本字段输入十六进制值在Java中FX

将在文本字段中输入的值转移到另一个angularJs

根据 Angular 中的另一个文本字段更改输入值

使用javascript从输入文本字段检索json对象值

如何对两个文本字段的值求和并在第三个文本字段中显示结果?

是否可以擦除两个单独的TextField中的文本,而该文本字段仅是使用一个MouseListener单击的呢?