0

这似乎不起作用,并重置检查...只想在检查后更新

<iframe id="time" name="time" type="text/html" src="http://time.is/"></iframe>

<form id="url" onsubmit="" method="post">
<input type="text" name="target" id="target" value="http://time.is" size="40"></form>

<input type="checkbox" name="check1" />
$('.url').submit {
    if($('input[name="check1"]', this).is(':checked')) {
        document.getElementById(time).src = url;
    } else {
        alert('no');
    }
    return false;
});

http://jsfiddle.net/ZZe5X/57/

4

2 回答 2

1

因为您将复选框放在表单之外,但是在您调用的代码if ($('input[name="check1"]', this).is(':checked')) {中应该将复选框移到表单内并删除onsubmit=""

<div class="c">
   <iframe id="time" name="time" type="text/html" src="http://time.is/" frameborder="0" allowtransparency="true"></iframe>
</div>
<form id="url" method="post" target="time">
   <div>
      <input type="text" name="target" id="target" value="http://time.is" size="40">
      <input type="checkbox" name="check1" />
   </div>
</form>

<script>
   $(function(){
       $('#url').submit (function(){
          if ($('input[name="check1"]', this).is(':checked')) {
            document.getElementById('time').src = url;
          } else {
            alert('no');
          }
          return false;
       });
   });
</script>

http://jsfiddle.net/ZZe5X/66/

于 2012-08-25T02:15:08.557 回答
0

有多个错误:

1.您需要在html表单中添加提交按钮(或有办法使用JavaScript触发表单提交),如下所示:

<input type="submit"/>

2.该变量url未定义,您可以在JavaScript中添加以下行

var url = $('#target').val();

3.

document.getElementById(time).src = url;

应该

document.getElementById('time').src = url;

4.将脚本的第一行从

$('.url').submit {

$('#url').submit(function() {

5.正如Trinh Hoang Nhu所说,复选框应该在表格内,因为您正在使用

if ($('input[name="check1"]', this)...

这是更新的测试

于 2012-08-25T02:36:16.830 回答