Как мне определить этот объект для добавления слушателей событий в мою форму? не уверен, что делать - PullRequest
0 голосов
/ 26 апреля 2018

Мне нужно определить объект ShapeLink, чтобы позволить мне добавить прослушиватель событий в форму, которая проверяет события «submit» в функции initForm. однако, когда я делаю один, он говорит, что объект ShapeLink не определен, и у меня возникают проблемы с его определением

<body>
<form>
    <label for="name">Name:</label>
    <input type="text" id="name">
    <label for="shapeSelect">Shape:</label>
    <select name="" id="shapeSelect">
        <option value="">pick a shape</option>
        <option value="square">Square</option>
        <option value="circle">Circle</option>
    </select>
    <input type="submit" value="Submit">
</form>
<div id="outputText"></div>
<svg width=100 height=100></svg>
<script>
    ShapeLink.initForm(document.querySelector("form"));
</script>
</body>

но мне нужно добавить его в мой javascript, и я не уверен, что и куда и почему идет

let ShapeLink = (function(){
//code here!

return {
    initForm: function(frm){
        //code here!

    }
}
})()

весь мой код должен быть в моем JavaScript. что я делаю

1 Ответ

0 голосов
/ 26 апреля 2018

Я не знаю, как вы подключаете прослушиватель событий, но ваш код работает:

let ShapeLink = (function(){
//code here!

return {
    initForm: function(frm){
        //code here!
        frm.addEventListener('submit',function(){
          alert('form submitting');
        })
    }
}
})()

ShapeLink.initForm(document.querySelector("form"));
<form>
    <label for="name">Name:</label>
    <input type="text" id="name">
    <label for="shapeSelect">Shape:</label>
    <select name="" id="shapeSelect">
        <option value="">pick a shape</option>
        <option value="square">Square</option>
        <option value="circle">Circle</option>
    </select>
    <input type="submit" value="Submit">
</form>
<div id="outputText"></div>
<svg width=100 height=100></svg>
...