禁用"输入"如果字段无效,则键入表单

时间:2015-06-26 15:32:33

标签: javascript html forms validation key

如何禁用"输入"如果字段无效,谁给我们提供有效的可能性并发送表格?

我只做了第一部分,表示该字段无效,但是"输入"键始终处于活动状态。所以我的问题很简单,如何禁用"输入"键盘按钮从我们看到"错误消息"在该领域

这是我的测试页 - >

http://500milligrammes.com/facticemagazine/final/unsubscribe/

3 个答案:

答案 0 :(得分:0)

您可以使用int main(void) { char array[100]; char character; int i = 0; char* point; int j = 0; printf ("Digit a string"); printf ("\n"); do { character = getchar(); array[i] = character; i++; } while (character != '\n'); array[i-1] = '\0'; i = 0; char* string[100]; char *word = strtok(array, " ."); while (word != NULL) { printf("%s\n", word); string[j] = word; word = strtok(NULL, " ."); } printf ("\n"); pid_t pid; pid = fork(); if (pid == -1) { perror(""); }else if (pid == 0) { if (execlp(string, NULL) < 0) { /* execute the command */ exit(1); } else { //.. wait until the child ends wait(pid); } } return; } 密钥keycode value (13)进行检查。

以下内容应该如下:

enter

答案 1 :(得分:0)

我已经检查了您的网站,以实现您的要求:

$("#name").on("keydown", function(e) {
    if(e.which === 13 && $("#name").next(".error-message").is(":visible")) {
        e.preventDefault();
        return false;
    }
});

提交总是在keydown上发送,因此我们需要添加keydown事件处理程序。 接下来检查密钥是否为回车键e.which === 13,之后我们只需要检查是否显示错误消息$("#name").next(".error-message").is(":visible")

如果两个条件都为真,那么只需通过调用e.preventDefault();

来阻止默认操作(提交)

您可以通过在接受输入键之前检查输入是否为空来进一步改进此功能。第一个keydown可能是回车键。

$("#name").on("keydown", function(e) {
    if(e.which === 13) {
        if($("#name").next(".error-message").is(":visible") || !$("#name").val()) {
            e.preventDefault();
            return false;
        }
    }
});

答案 2 :(得分:-1)

Try adding this when you show the error:

$(document).on('keyup keypress', 'form input[type="text"]', function(e) {
  if(e.which == 13) {
    e.preventDefault();
    return false;`enter code here`
  }
});