0

我在使用 Flexsider 时遇到了一个不寻常的问题,其中一张幻灯片中有一个表格。表单中有一些单选按钮,除了容器的一些 div 之外没有其他任何东西。单击单选按钮会导致按钮周围出现光标轮廓,因此它正在响应,但不会被检查。我确实尝试过使用 javascript 调用来设置属性的测试。走过,它设置了单选按钮成功,但退出功能后,单选按钮被重置。我似乎找不到在这里或其他地方讨论过的任何类似问题,我完全惊呆了。

表单内容是通过 ajax 加载的。我注意到 Flexslider 创建了第一张和最后一张幻灯片的克隆,并且当 ajax 内容加载到幻灯片中时,克隆正在更新。我重新排序了我的幻灯片,因此不会复制表单,但仍然无法检查单选按钮。但是,在 Firebug 中,我将 checked 属性设置为 true(在 Watch 面板中使用 jquery),这一次按钮仍然处于选中状态。尝试选中/取消选中没有任何效果,并且我通过 Firebug 设置其属性的按钮仍然存在。

编辑:我添加了一个文本字段,并且没有问题。

以下是 HTML。老实说,javascript 可以忽略不计,因为它只是获取表单内容的 ajax 请求。视频中使用的 Javascript 是 jquery、flexslider 和 flowplayer。该表单位于数据幻灯片 2 中,正式地是第二个,因为第一个是克隆。

<section class="slider">
    <div class="flexslider" id="mainSlider">

        <div class="flex-viewport" style="overflow: hidden; position: relative;">
            <ul class="slides" style="width: 1000%; margin-left: -3486px;">
                <li data-slide="2" data-type="Quiz" data-id="6" class="clone" style="width: 1162px; float: left; display: block;">

                    <div class="quiz" data-id="1">
                        <div class="quizDescription">

                        </div>
                        <div class="quizContent" data-id="1">
                            <div style="max-width: " data-id="1" class="question">
                                <div class="questionText">Is TRUE true?<br></div>
                                    <span id="CourseQuizAnswer"><input type="radio" name="CourseQuizAnswer" id="CourseQuizAnswer_0" value="2"> 
                                        <label for="CourseQuizAnswer_0" style="display:inline">True</label><br>
                                        <input type="radio" name="CourseQuizAnswer" id="CourseQuizAnswer_1" value="3">
                                        <label for="CourseQuizAnswer_1" style="display:inline">False</label>
                                    </span>
                                </div>
                            </div>
                        <div class="well">
                            <input type="button" value="Submit" name="yt0" onclick="submitQuestionAnswer(this);" class="btn btn-primary btn-med">
                        </div>
                    </div>

                </li>
                <li data-slide="0" data-type="Video" data-id="2" style="width: 1162px; float: left; display: block;" class="">

                    <div class="minimalist video-slide flowplayer is-mouseout is-ready is-paused" data-video_id="1" id="mainPlayer">
                        <video tabindex="0" class="fp-engine">
                            <source src="http://stream.flowplayer.org/bauhaus/624x260.webm" type="video/webm"></source>
                        </video>
                        <div class="fp-ratio" style="padding-top: 56.25%;"></div>      <div class="fp-ui">         <div class="fp-waiting"><em></em><em></em><em></em></div>         <a class="fp-fullscreen"></a>         <a class="fp-unload"></a>         <p class="fp-speed"></p>         <div class="fp-controls">            <a class="fp-play"></a>            <div class="fp-timeline" style="">               <div class="fp-buffer" style="width: 100%;"></div>               <div class="fp-progress"></div>            </div>            <div class="fp-volume">               <a class="fp-mute"></a>               <div class="fp-volumeslider" style="">                  <div class="fp-volumelevel" style="width: 43%;"></div>               </div>            </div>         </div>         <div class="fp-time">            <em class="fp-elapsed">00:00</em>            <em class="fp-remaining">00:40</em>            <em class="fp-duration">00:40</em>         </div>         <div class="fp-message"><h2></h2><p></p></div>      </div><a href="http://flowplayer.org" target="_top"></a></div>
                </li>
                <li data-slide="1" data-type="Content" data-id="5" style="width: 1162px; float: left; display: block;">
                    Segment 2            
                </li>
                <li data-slide="2" data-type="Quiz" data-id="6" class="flex-active-slide" style="width: 1162px; float: left; display: block;">
                    <div class="quiz" data-id="1">
                        <div class="quizDescription">

                        </div>
                        <div class="quizContent" data-id="1">
                            <div style="max-width: " data-id="1" class="question">
                                <div class="questionText">
                                    Is TRUE true?<br>
                                </div>
                                <span id="CourseQuizAnswer">
                                    <input type="radio" name="CourseQuizAnswer" id="CourseQuizAnswer_0" value="2"> 
                                    <label for="CourseQuizAnswer_0" style="display:inline">True</label><br>
                                    <input type="radio" name="CourseQuizAnswer" id="CourseQuizAnswer_1" value="3"> 
                                    <label for="CourseQuizAnswer_1" style="display:inline">False</label>
                                    </span>
                                </div>
                            </div>
                        <div class="well">
                            <input type="button" value="Submit" name="yt0" onclick="submitQuestionAnswer(this);" class="btn btn-primary btn-med">
                        </div>
                    </div>

                </li>
                <li data-slide="0" data-type="Video" data-id="2" style="width: 1162px; float: left; display: block;" class="clone">

                    <div class="minimalist video-slide" data-video_id="1" id="mainPlayer">
                        <video tabindex="0">
                            <source src="http://stream.flowplayer.org/bauhaus/624x260.webm" type="video/webm"></source>
                        </video>
                    </div>
                </li>
            </ul>
        </div>
    </div>
</section>

有没有人有任何见解?提前致谢!

4

2 回答 2

0

单选按钮有重复id的 s。删除重复id的 s 并重试。让我知道它是否仍然无法正常工作。

例如:

<input type="radio" name="CourseQuizAnswer" id="CourseQuizAnswer_0" value="2"> 

是相同的

<input type="radio" name="CourseQuizAnswer" id="CourseQuizAnswer_0" value="2">

它在页面上存在两次。

我知道为什么您可能认为您id的 s 是独一无二的:您使它们在与它们相关的问题上独一无二。但是,您忘记使它们在页面上独一无二。问题是ids 都在全局页面范围内,无论它们在哪里声明。

祝你好运!:)

于 2013-04-12T19:16:27.040 回答
0

flexslider 为每张幻灯片创建一个镜像副本,以在滚动浏览最后一张幻灯片时产生连续性的错觉。这些是使用类名“克隆”创建的。您可以尝试在使用 jQuery 提交之前禁用表单:

$(".clone input").prop("disabled", true); 
于 2016-06-21T11:05:32.610 回答