繁体   English   中英

通过javascript提交表单

[英]Submitting a form via javascript

我研究了如何通过javascript提交表单,但在我的情况下,我正在基于数据集创建几个表单。 我不知道引用表单ID的最佳方法。

<c:forEach 
    var="meeting" 
    items="${response.mMeetingList}"
    begin="0"
    end="5">

    <div class="row">

        <ul class="span4 unstyled">
            <li>
                <form name="mtgDetailsForm" action="/transporter/app/meeting/read" method="POST">
                <input type="hidden" name="meetingId" value="${meeting.meetingId} }">
                <a href="javascript: getMtgDetails()" class="row">
                    <div class="span1"><fmt:formatDate value="${meeting.startTime}" type="time" pattern="h:mm a"></fmt:formatDate></div>
                    <div class="span3">${meeting.meetingName}</div>
                </a>
                </form>
            </li>
        </ul>

    </div>

</c:forEach>

这是提交表单的JS方法:

function getMeetingDetails( data ){
        document.mtgDetailsForm.submit();
    }

显然,这不起作用,因为表单ID将被复制。 什么是更好的方法?

谢谢你的任何提示!

您可以参考的forma例如上的jsfiddle

function sub(e)
{
    var f = e.parentNode;

    // if using jQuery prefer this method to access `form`
    // var f = $(e).closest("form");

    f.submit();
}

然后

<a href="#" onclick="sub(this)">Submit</a>

我不知道你用来生成动态表单的代码,但是一种方法是为每个表单生成一个id,如下所示:

 <form name="mtgDetailsForm${counter}">

将表单id by参数传递给function

<a href="javascript: getMtgDetails('mtgDetailsForm${counter}')" class="row">

获取表单并根据参数提交

function getMeetingDetails( formId ){
        document.getElementById(formId).submit();
    }

还需要在for循环${counter++}内增加计数器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM