0

这是我目前正在构建的服装比赛应用程序的代码。将有一排单选按钮 1-10 包裹在标签中,这些标签都可以单独点击。点击事件后,表单将提交,我进行一些后期处理并返回一个 json 对象,我将从该对象中将发布数据注入页面。这个过程将一直持续到您为比赛中的每件服装投票为止。

Firefox、Safari、Camino 都按预期工作。所有 IE 在容器上的翻转 = form.parents("#container"); javascript 的行(这随后使对容器的任何其他引用也失败。

值得注意的是,表单变量很好。随后的警报(form[0].id); 确实按预期回显了costume_rating_form。我不确定何时不能使用 jquery 对象来查找 #container 元素。

我怀疑 livequery 没有正确绑定到 IE 浏览器中的 click 事件。有没有人对此有任何见解以及我如何解决它?

$("form#costume_rating_form input[type=radio]").livequery("click",function(){
    form = $(this).parents("form:first");
    container = form.parents("#container");
    vote_eid = form.find("input#vote_eid");
    contest_results = container.find("#contest_results");
    contest_image = container.find(".contest_image:first");
    contest_next = container.find("#side_bar #next_up");
    contest_content = contest_image.next();
    .....

<div class="full center" id="container">
    <div class="s1-2" id="main">
        <div class="s_w clearfix">
            <div id="costume_rating">
                <h3 class="middle">
                    Rate This Costume
                </h3>
                <form action="/costume-rate/" method="post" id="costume_rating_form" name="costume_rating_form">
                    <label style="display: none;" for="costume_rating" class="error contest_selector">Please select a rating.</label>
                    <div id="rating_scores">
                        <!-- <div class="rate_tab radius_t_5">Rate This Costume</div> -->
                        <div class="thumb_down">
                            :-/
                        </div>
                        <div class="middle">
                            <label for="r1" class="contest_selector"><input type="radio" value="1" name="costume_rating" id="r1" class="radio" style="position: absolute; top: 0pt; right: 99999px;">1</label> <label for="r2" class="contest_selector"><input type="radio" value="2" name="costume_rating" id="r2" class="radio" style="position: absolute; top: 0pt; right: 99999px;">2</label> <label for="r3" class="contest_selector"><input type="radio" value="3" name="costume_rating" id="r3" class="radio" style="position: absolute; top: 0pt; right: 99999px;">3</label> <label for="r4" class="contest_selector"><input type="radio" value="4" name="costume_rating" id="r4" class="radio" style="position: absolute; top: 0pt; right: 99999px;">4</label> <label for="r5" class="contest_selector"><input type="radio" value="5" name="costume_rating" id="r5" class="radio" style="position: absolute; top: 0pt; right: 99999px;">5</label> <label for="r6" class="contest_selector"><input type="radio" value="6" name="costume_rating" id="r6" class="radio" style="position: absolute; top: 0pt; right: 99999px;">6</label> <label for="r7" class="contest_selector"><input type="radio" value="7" name="costume_rating" id="r7" class="radio" style="position: absolute; top: 0pt; right: 99999px;">7</label> <label for="r8" class="contest_selector"><input type="radio" value="8" name="costume_rating" id="r8" class="radio" style="position: absolute; top: 0pt; right: 99999px;">8</label> <label for="r9" class="contest_selector"><input type="radio" value="9" name="costume_rating" id="r9" class="radio" style="position: absolute; top: 0pt; right: 99999px;">9</label> <label for="r10" class="contest_selector"><input type="radio" value="10" name="costume_rating" id="r10" class="radio" style="position: absolute; top: 0pt; right: 99999px;">10</label> <input type="submit" value="Vote" name="submit" id="vote_button" class="submit" style="display: none;">
                        </div>
                        <div class="thumb_up">
                            8-D
                        </div>
                    </div><input type="hidden" value="4847" name="vote_eid" id="vote_eid"> <input type="hidden" value="23339" name="user_id"> <input type="hidden" value="105" name="contest_id">
                </form><br class="clear">
                <div class="contest_image">
                    <img src="/users/kylebradshaw-3161-full.gif" style="display: inline;">
                </div>
                <div class="contest_content">
                    <div class="contest_metar">
                        <table class="contest_meta">
                            <tbody>
                                <tr>
                                    <th>
                                        Title
                                    </th>
                                    <td>
                                        <b>hre's a title of the thing</b>
                                    </td>
                                </tr>
                                <tr>
                                    <th>
                                        Description
                                    </th>
                                    <td>
                                        and here's an image of the thing
                                    </td>
                                </tr>
                                <tr>
                                    <th>
                                        Tags
                                    </th>
                                    <td>
                                        <a href="/tag/heres+a+tag/">heres a tag</a>
                                    </td>
                                </tr>
                                <tr>
                                    <th>
                                        Submitted by
                                    </th>
                                    <td style="vertical-align: text-top;" class="submitted_by">
                                        <a href="/user/view/kylebradshaw/">kylebradshaw</a>
                                    </td>
                                </tr>
                                <tr>
                                    <th>
                                        Share This
                                    </th>
                                    <td class="small">
                                        <input type="text" size="46" value="http://cz3.kb.mechmedia.com/costume-rate/4847/" style="padding: 1px; margin-bottom: 4px;" class="text select_box small"><br>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                    </div><br class="clear">
                    <div id="commentary">
                        <h2>
                            Commentary
                        </h2>
                        <div id="entry_comments">
                            <p>
                                None yet! Leave a comment!
                            </p>
                        </div><!-- end entry_comments -->
                    </div>
                    <div id="comment_here">
                        <h2>
                            Be the first to comment!
                        </h2>
                        <form method="post" action="/update/">
                            <p>
                                <textarea style="width: 90%;" rows="2" name="comment">
                            </p><input type="hidden" value="4847" name="entry_id"><input type="hidden" value="105" name="contest_id"><input type="hidden" value="add_comment" name="action"><input type="hidden" value="html" name="content_type">
                            <p>
                                <input type="submit" value="Add Your Comment" name="submit">
                            </p>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="s1-12" id="side_bar">
        <div class="s_w">
            <div id="next_up">
                <h3>
                    Next
                </h3>
                <div class="img_container">
                    <img alt="" src="/users/Crow_Nest_Vintage-2411-thumb.gif">
                </div>
                <div class="img_container">
                    <img alt="" src="/users/mizzmedusa-2155-thumb.gif">
                </div>
                <div class="img_container">
                    <img alt="" src="/users/tantlaymance-2053-thumb.gif">
                </div>
                <div class="img_container">
                    <img alt="" src="/users/gulfcoastdiesel-2024-thumb.gif">
                </div>
                <div class="img_container">
                    <img alt="" src="/users/PokeyWoman-1578-thumb.gif">
                </div>
            </div>
            <div id="new_up">
                <h3>
                    New
                </h3>
                <div class="img_container">
                    <a href="/costume-rate/4877/"><img alt="" src="/users/kylebradshaw-3197-thumb.gif"></a>
                </div>
                <div class="img_container">
                    <a href="/costume-rate/4874/"><img alt="" src="/users/kylebradshaw-3190-thumb.gif"></a>
                </div>
                <div class="img_container">
                    <a href="/costume-rate/4873/"><img alt="" src="/users/kylebradshaw-3189-thumb.gif"></a>
                </div>
                <div class="img_container">
                    <a href="/costume-rate/4872/"><img alt="" src="/users/kylebradshaw-3188-thumb.gif"></a>
                </div>
                <div class="img_container">
                    <a href="/costume-rate/4871/"><img alt="" src="/users/kylebradshaw-3185-thumb.gif"></a>
                </div>
            </div>
        </div>
    </div>
    <div class="s5-12 end" id="pre_bar">
        <div class="s_w">
            <div id="contest_results">
                <h3>
                    <a href="/costume-rate/4848/">modal test</a> Voting Results
                </h3>
                <div class="contest_image left">
                    <img alt="modal test" src="/users/kylebradshaw-3162-full.gif">
                </div>
                <table class="contest_meta">
                    <tbody>
                        <tr>
                            <th>
                                Official Score
                            </th>
                            <td>
                                <span class="strong shout">6.0/10</span>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Votes
                            </th>
                            <td>
                                1 vote
                            </td>
                        </tr>
                        <tr>
                            <th>
                                You Voted
                            </th>
                            <td>
                                <b class="knock_out">6</b>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Submitted by
                            </th>
                            <td style="vertical-align: text-top;" class="submitted_by">
                                <a href="/user/view/kylebradshaw/">kylebradshaw</a>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Share This
                            </th>
                            <td class="small">
                                <input type="text" value="http://cz3.kb.mechmedia.com/costume-rate/4848/" style="padding: 1px; margin-bottom: 4px; width: 90%;" class="text select_box small"><br>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div><br class="clear">
            <br class="clear">
            <br class="clear">
            <div class="section first" id="contest_info">
                <h1>
                    <span class="costum">C</span><span class="zee">z</span> Costume Contest
                </h1>
                <table class="contest_meta contest_info">
                    <tbody>
                        <tr>
                            <th>
                                Name
                            </th>
                            <td>
                                <b>hats and such</b>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Started
                            </th>
                            <td>
                                <small>07/15/08</small>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Ends
                            </th>
                            <td>
                                <small style="margin-bottom: 3px; display: block;">05/13/11</small> <span class="notice">This contest ends in 1 year, 9 months</span>
                            </td>
                        </tr>
                        <tr>
                            <th>
                                Description
                            </th>
                            <td>
                                here is a contest dedicated to awesome hats
                            </td>
                        </tr>
                        <tr>
                            <td></td>
                            <td>
                                <a href="/costume-upload/?contest_id=105&amp;typeof=contest&amp;modal=1&amp;KeepThis=true&amp;TB_iframe=true&amp;width=400&amp;height=500" id="contest_upload" class="funnel thickbox" name="contest_upload">Enter this contest now!</a>
                            </td>
                        </tr>
                    </tbody>
                </table><br class="clear">
            </div>
            <ul id="contests_list">
                <li>
                    <a href="/contest/105">Hats And Such</a><br>
                    <small><b>12767</b> <em>votes</em></small>
                    <p>
                        here is a contest dedicated to awesome hats
                    </p>
                </li>
                <li>
                    <a href="/contest/107">General</a><br>
                    <small><b>3009</b> <em>votes</em></small>
                    <p>
                        This is the anything-goes general contest!
                    </p>
                </li>
            </ul>
        </div>
    </div><br class="clear">
</div>
4

1 回答 1

4

首先,您使用 LiveQuery 而不是内置的Events/live是否有原因?

其次,由于#container是唯一的 id,因此您不需要find它。尝试:

container = $("#container");

#vote_eid与,#contest_results等类似。

最后,除非form, container,vote_eid等是全局变量,你应该用var.

更正这些问题,并让我们知道问题是否仍然存在。

于 2009-07-31T06:57:51.107 回答