【问题标题】:Returns true if it is a vowel, false otherwise如果是元音则返回真,否则返回假
【发布时间】:2017-04-01 05:31:41
【问题描述】:

下面是我用来判断一个字符是否是元音的代码。但是当我运行它时,它不会打印出真假。

有人可以帮我看看我做错了什么吗?

var vowel = function(str) {
  var matches = str.match(/[aeiou]/gi);
  var count = matches ? matches.length : 0;

  document.getElementByID('p').innerHTML = "'" + str + "contains" + count + "vowel(s)";

  return false;
}

vowel(str);
<form>
  <input type="text" name='t1'>
  <input type='submit' value="SUBMIT" onclick='return vowel(this.form.t1.v'>
  <div id="p"></div>
</form>

【问题讨论】:

  • 您的实际代码中是否也缺少对vowel() 的调用中的右括号?
  • 你打电话给vowel(str);,但是str是在哪里定义的?
  • str 未定义,*我猜*
  • 试试这个:var str = 'aeiffdgj'; var vowel = function(str) { var matches = str.match(/[aeiou]/gi); var count = 匹配?匹配长度:0; // document.getElementByID('p').innerHTML = //"'"+str+"contains"+count+"vowel(s)";警报(计数);返回假; };元音(str);
  • 谢谢大家。但它仍然没有返回结果:-(

标签: javascript forms function


【解决方案1】:

代替document.getElementByID 试试document.getElementById

【讨论】:

    【解决方案2】:

    您的代码有几个问题。

    1- getElementByID 应该是 getElementById

    2- 你没有关闭函数调用vowel(this.form.t1.v的括号

    3- t1.v 不是属性。你的意思是使用t1.value

    var vowel = function(str) {
      var matches = str.match(/[aeiou]/gi);
      var count = matches ? matches.length : 0;
    
      document.getElementById('p').innerHTML = "'" + str + "' contains " + count + " vowel(s)";
    
      return false;
    }
    <form>
      <input type="text" name="t1" />
      <input type='submit' value="SUBMIT" onclick='return vowel(this.form.t1.value);' />
      <div id="p"></div>
    </form>

    【讨论】:

      猜你喜欢
      • 2019-03-10
      • 1970-01-01
      • 2019-09-28
      • 2021-10-15
      • 2016-05-03
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多