60805


下記のような処理で、HTMLに８桁の日付を入力後にマウスポインタが離れた時に、JavaScriptでスラッシュ区切りになるような処理を追加したいです。

**HTML**

[code]

    <body>
    <form id="formId" name="formName" action="cgi-bin/abc.cgi" method="post">
    <p>
    誕生日：<input type="num" id="birth" name="birth" maxlength="8" max="21000000">
    </p>
    <p>
    <input type="submit" value="送信する" onclick="onButtonClick()">
    <input type="reset" value="入力内容をリセットする">
    </p>
    </form>
    </body>
    
[/code]

**Javascript**

[code]

    function onButtonClick() {
        var str= document.forms.formId.birth.value;
    　　var date = toDate(str);
    }
    
    function toDate (str) {
      var arr = (str.substr(0, 4) + '/' + str.substr(4, 2) + '/' + str.substr(6, 2)).split('/');
      return arr;
    }
    
[/code]

しかし、toDateの処理で文字列の連結がうまくいきません。なぜでしょうか？すみませんが、ご教示お願いします。


CC BY-SA 4.0
2019-11-24T01:58:32.927
60800
2019-11-24T05:30:10.080
36177
question
javascript
Javascriptを使って、画面で入力された日付スラッシュ区切りにしたい。


提示されている`toDate()`関数は正しくできあがった結果を`split('/')`して配列にしています。この配列をそのまま文字列化するとカンマ区切りになります。

`split()`しなければよいと思います。

[code]

    function toDate (str) {
      return str.substr(0, 4) + '/' + str.substr(4, 2) + '/' + str.substr(6, 2);
    }
    
[/code]


CC BY-SA 4.0
2019-11-24T05:30:10.080
60805
2019-11-24T05:30:10.080
3475
60800
answer