2012-07-13 54 views
-3

我不明白为什么按钮在启用复选框后不会激活。我已经得到了它,而无需禁用提交按钮的工作,但然后它独立的复选框被选中按钮在激活后不会执行动作

<!doctype html> 
<html lang="en"> 

<head> 
<meta http-equiv="Pragma" content="no-cache"> 

<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> 

<meta charset="utf-8" /> 
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-     
scalable=0, width=device-width;"> 
<title>Welcome to Tiffany &amp; Co.</title> 

<link rel="stylesheet" href="index.css" type="text/css" media="screen" /> 

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 

<!--Enable media queries in some unsupported subrowsers--> 
<script type="text/javascript" src="css3-mediaqueries.js"></script> 

<script type="text/javascript" src="main.js"></script> 
<!--[if lt IE 9]> 
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 

</head> 

<body> 
<div id="wrapper"> 

<script> 
function submitAction() 
{ 

var link = document.location.href; 

var searchString = "redirect="; 

var equalIndex = link.indexOf(searchString); 

var redirectUrl = ""; 

    if (document.forms[0].action == "") 
    { 

    var url = window.location.href; 

    var args = new Object(); 

    var query = location.search.substring(1); 

    var pairs = query.split("&"); 

    for(var i=0;i<pairs.length;i++) 
     { 

     var pos = pairs[i].indexOf('='); 

     if(pos == -1) continue; 

     var argname = pairs[i].substring(0,pos); 

     var value = pairs[i].substring(pos+1); 

     args[argname] = unescape(value); 

     } 

    document.forms[0].action = args.switch_url;  

    }  

if(equalIndex >= 0) 
    { 

    equalIndex += searchString.length; 

    redirectUrl = ""; 

    redirectUrl += link.substring(equalIndex); 

    } 

if(redirectUrl.length > 255) 

redirectUrl = redirectUrl.substring(0,255); 

document.forms[0].redirect_url.value = redirectUrl; 

document.forms[0].buttonClicked.value = 4; 

document.forms[0].submit(); 

} 

function reject() 
{ 
alert("You will not be able to access the system!"); 
} 

function loadAction() { 
var url = window.location.href; 
var args = new Object(); 
var query = location.search.substring(1); 
var pairs = query.split("&"); 
for (var i = 0; i < pairs.length; i++) { 
    var pos = pairs[i].indexOf('='); 
    if (pos == -1) continue; 
    var argname = pairs[i].substring(0, pos); 
    var value = pairs[i].substring(pos + 1); 
    args[argname] = unescape(value); 
} 
document.forms[0].action = args.switch_url; 
} 
</script> 

<form method="post"> 
<input TYPE="hidden" NAME="buttonClicked" SIZE="16" MAXLENGTH="15" value="0"> 
<input TYPE="hidden" NAME="redirect_url" SIZE="255" MAXLENGTH="255" VALUE=""> 
<input TYPE="hidden" NAME="err_flag" SIZE="16" MAXLENGTH="15" value="0"> 





<h1>Welcome to Tiffany &amp; Co.</h1> 
<p id="desc">We're delighted to offer our customers complimentary Wi-Fi  
while shopping in our store.</p> 
<form> 
<p id="terms"> 
    <input id="termsCheckbox" type="checkbox" 
onclick="this.form.submit.disabled = !this.checked"/> I have read and agreed to the <a 
href="terms.html">Terms of Use</a> 
</p> 
<p id="error"> 
    Please agree to the Terms of Use by checking the box. 
</p> 
<p class="connect"> 
<input id="connect" type="button" name="submit" value="Accept" 
class="button" disabled="disabled" onclick="submitAction();"> 
</p> 
</form> 

<div id="logo"> 
    <img src="logo.png" width="108" height="14" alt="Tiffany &amp; Co."  
/> 
</div> 
</div> 
</body> 

</html> 
+5

如果您可以摆脱多余的代码,只突出显示您遇到问题的代码段,那太棒了! – 2012-07-13 19:02:24

+3

您错过了'submitAction'的右括号 – sachleen 2012-07-13 19:04:41

回答

0

与此

$(function(){ 
    $('#termsCheckbox').change(function(){ 
     $('#connect').prop('disabled', !this.checked); 
    } 
}); 
2

你的代码工作正常尝试,这是一个烂摊子,但它的工作原理。问题是这样的:

Uncaught ReferenceError: submitAction is not defined 

问题的原因是,你没有一个右括号上submitAction()

这里有一个working demo。我也有cleaned up your code

正确地格式化和缩进代码非常重要。它不仅看起来不错,而且易于阅读,还可以轻松找到不匹配/缺失的大括号。

+0

我刚刚更新了它被截断的代码 – user1524383 2012-07-13 20:08:59

+0

您还缺少一个结束标签。如果你只是正确地缩进你的代码,你会抓住这些。 [验证你的HTML](http://validator.w3.org/check),然后问。 – sachleen 2012-07-13 20:26:05