Javascript Oninvalid不';行不通 函数getExerciseTitle(){ var exerciseTitle=$(''{ “类”:“需要getExerciseTitle表单组表单控件”, “类型”:“文本”, “名称”:“getExerciseTitle”, 'id':'getExerciseTitle', “占位符”:“练习标题”, “必需”:true, 'oninvalid':this.setCustomValidity('您的练习想要一个标题!'), “oninput”:this.setCustomValidity(“”) }); 归还所有权; }

Javascript Oninvalid不';行不通 函数getExerciseTitle(){ var exerciseTitle=$(''{ “类”:“需要getExerciseTitle表单组表单控件”, “类型”:“文本”, “名称”:“getExerciseTitle”, 'id':'getExerciseTitle', “占位符”:“练习标题”, “必需”:true, 'oninvalid':this.setCustomValidity('您的练习想要一个标题!'), “oninput”:this.setCustomValidity(“”) }); 归还所有权; },javascript,jquery,Javascript,Jquery,现在,每当我单击“提交”而没有标题时,它都不会显示所需的消息。它也不提交,因此可以工作,但边框只是变为红色,而不是抛出所需的消息。您确定了失败点是什么吗?换句话说,事件处理程序是否被调用,或者this引用是否不是您所期望的this引用。因为它不会提交,但也不会抛出任何消息。我认为即使有“必须”的声明也是假的,因为我有一个脚本,可以在函数值为空时阻止ajax调用发送表单。我怀疑任何'on…“属性都期望函数不是字符串。当我去掉字符串部分时,会抛出下一个错误,使其成为函数:Uncaught TypeE

现在,每当我单击“提交”而没有标题时,它都不会显示所需的消息。它也不提交,因此可以工作,但边框只是变为红色,而不是抛出所需的消息。

您确定了失败点是什么吗?换句话说,事件处理程序是否被调用,或者
this
引用是否不是您所期望的this引用。因为它不会提交,但也不会抛出任何消息。我认为即使有“必须”的声明也是假的,因为我有一个脚本,可以在函数值为空时阻止ajax调用发送表单。我怀疑任何
'on…“
属性都期望函数不是字符串。当我去掉字符串部分时,会抛出下一个错误,使其成为函数:Uncaught TypeError:this.setCustomValidity不是函数
 function getExerciseTitle() {
  var exerciseTitle = $('<input/>', {
    'class': 'getExerciseTitle form-group form-control required',
    'type': 'text',
    'name': 'getExerciseTitle',
    'id': 'getExerciseTitle',
    'placeholder': 'Exercise title',
    'required': true,
    'oninvalid': this.setCustomValidity('Your exercise would like to have a title!'),
    'oninput': this.setCustomValidity('')
  });

  return exerciseTitle;
}