首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript如何使用event-listener移动变量?

Javascript如何使用event-listener移动变量?
EN

Stack Overflow用户
提问于 2011-05-13 16:52:32
回答 2查看 171关注 0票数 0

我有以下函数,可以从JSON对象编写多项选择题。

首先,在这里创建事件侦听器是“合法的”吗?如果是这样,我希望侦听器执行的函数(validate)获得单击"submit“的表单的编号,以及选中的复选框的编号。我该怎么做呢?谢谢。

代码语言:javascript
复制
function writeQuestions() {

len = questions.qestion.length;
for (var i = 0; i < len; i++) {

        answerRdy = [];
        qestionRdy = questions.qestion[i];
        answerRdy[0] = questions.answer[i][0];
        answerRdy[1] = questions.answer[i][1];
        answerRdy[2] = questions.answer[i][2];
        answerRdy[3] = questions.answer[i][3];
        divID = "question-" + i;
        formID = "form-" + i;
        CurrentForm = i;

            writeAnswer = [];
            writeAnswer[writeAnswer.length] = ("\n<div id='{0}'>\n<form id='{1}' name='{1}'>\n").format(divID, formID);
            writeAnswer[writeAnswer.length] = ("<b>" + qestionRdy + "</b><br />\n");
        for (n=0; n<=3; n++) {
            writeAnswer[writeAnswer.length] = ("<input type='radio' name='answerTo{0}' value='{1}' /> {2} <br />\n").format(CurrentForm, n, answerRdy[n]);
                }
            writeAnswer[writeAnswer.length] = ("<input type='submit' value='Submit your answer'>\n</form>\n</div><!--{0}-->").format(divID);


        joinQuestion = writeAnswer.join();
            exp = /,/gi;
        fullQuestion = joinQuestion.replace(exp, "");

    $('#container').append(fullQuestion);
    document.forms[i].addEventListener('submit',validate);
}
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-13 18:09:42

最好使用jquery submit()附加提交事件,这样该函数就会成为表单提交事件处理程序的一部分

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function(){
    $("form").submit(function(){
    alert($(this).attr("id"));
    alert("Checked radio " + $(this).find("input:checked").val())
    //return false if you do not want to submit the form, otherwise comment it out
    return false;
    });
    });

</script>

<form id="{1}">
<input type="radio" name="answer" value=1>
<input type="radio" name="answer" value=2>
<input type="submit" value="submit">
</form>
<form id="{2}">
<input type="radio" name="answer" value=3>
<input type="radio" name="answer" value=4>
<input type="submit" value="submit">
</form>
票数 1
EN

Stack Overflow用户

发布于 2011-05-13 17:06:17

你应该听一下submit按钮的点击,表单onclick应该返回false。使用jquery这样的框架来实现这些类型的功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5989479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档