为什么JavaScript CSS类会破坏此脚本?

前端之家收集整理的这篇文章主要介绍了为什么JavaScript CSS类会破坏此脚本? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这是脚本-

<script language=javascript>
function apply()
{
  document.form1.sub.disabled=true;
  if(document.form1.chk.checked==true)
  {
    document.form1.sub.disabled=false;
  }
  if(document.form1.chk.checked==false)
  {
    document.form1.sub.enabled=false;
  }
}
</script> 

如果我使用此html无效,

<input class="field checkBox" type="checkBox" name="chk" onClick="apply()" value="accept" />

但是,这也不起作用-

<input class="field" type="checkBox" name="chk" onClick="apply()" value="accept" />

但这确实有效-

<input class="checkBox" type="checkBox" name="chk" onClick="apply()" value="accept" />

因此,如果类“ field”在其中,则会破坏JS.当然可以取出,但是我想知道为什么它不起作用?

谢谢!

编辑
抱歉,这是整个页面. CSS只是控制元素的位置,据我所知它不应干扰JS …? —

<?PHP
session_start();
if(!isset($_SESSION['referrer'])){
    //get the referrer
    if ($_SERVER['HTTP_REFERER']){
        $referrer = $_SERVER['HTTP_REFERER'];
    } else {
        $referrer = "unknown";
}
//save it in a session
$_SESSION[’referrer’] = $referrer; // store session data
}

//grab campaign var from url
$campaign = $_GET['campaign'];

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>Beerfest Packages Sweepstakes - Blue Ridge Country</title>
<Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="scripts/wufoo.js"></script>
<link rel="stylesheet" href="css/structure.css" type="text/css" />
<link rel="stylesheet" href="css/form.css" type="text/css" />
<link rel="stylesheet" href="css/theme.css" type="text/css" />
<script language=javascript>
function apply()
{
  document.form1.sub.disabled=true;
  if(document.form1.chk.checked==true)
  {
    document.form1.sub.disabled=false;
  }
  if(document.form1.chk.checked==false)
  {
    document.form1.sub.enabled=false;
  }
}
</script>  
</head>

<body id="public">

<img id="top" src="images/top.png" alt="" />
<div id="container">

<h1><a href="">Wufoo</a></h1>

<form class="wufoo" action="insert.PHP" method="post" name="form1">

    <div class="info">
        <h2>Register to Win &amp; Subscribe to Blue Ridge Country</h2>
        <div>Now's your chance to not only register to win our free beerfest tickets and getaway,but also receive the #1 magazine in the Blue Ridge Mountains!</div>
    </div>

    <ul>

    <li class="section first">
        <h3>Your information</h3>
        <div>Whether you're registering to win or subscribing to the magazine (or both!) we need your info!</div>
    </li>

    <li>
    <label class="desc">Name <span class="req">*</span></label>
        <span>
        <input class="field text" size="8" value=""/>
        <label>First</label>
        </span>

        <span>
        <input class="field text" size="3" value=""/>
        <label>M.I.</label>
        </span>

        <span>
        <input class="field text" size="14" value=""/>
        <label>Last</label>
        </span>
    </li>
    <li>
    <label class="desc">Email <span class="req">*</span></label>
        <div>
        <input class="field text medium" type="text" name="email" maxlength="100" value="" /> 
        </div>
        <p class="instruct">Don't worry,we won't spam you,share or sell your email address!</p>
    </li>    
    <li>
    <label class="desc">Address <span class="req">*</span></label>
        <div>
        <input class="field text medium" type="text" maxlength="100" value="" /> 
        </div>
    </li>
    <li>
        <span>
        <input class="field text" size="15" value="" />
        <label>City</label>
        </span>

        <span>
        <input class="field text" size="2" value="" />
        <label>State</label>
        </span>

        <span>
        <input class="field text" size="5" maxlength="10" value="" />
        <label>Zip</label>
        </span>
    </li>

    <li>
    <label class="desc">Phone <span class="req">*</span></label>
        <span>
        <input class="field text" type="text" size="3" maxlength="3" value=""/> - 
        <label>Area</label>
        </span>

        <span>
        <input class="field text" type="text" size="8" maxlength="8" value=""/>
        <label>Phone</label>
        </span>
    </li>    

    <li class="section">
        <h3>Legal mumbo jumbo</h3>
        <div>Don't worry,you're almost done and this is the last bit we need from you!</div>
    </li>

    <li>
    <label class="desc">Official Rules <span class="req">*</span></label>
        <div>
        <textarea rows="10" cols="50" class="field textarea medium" readonly="readonly" style="font-size: 0.8em;">1. To enter,complete an online request by submitting this completed form. Or,send a stamped,self-addressed envelope to: "Blue Ridge Country Beerfest Promotion," Leisure Publishing,PO Box 21535,Roanoke,VA 24018,requesting an entry form. Limited to one entry per household. Entries must be received by June 30,2009. 2. Reservation procedures to come with notification of winning. Package not available during holidays and special events. Notification of prizes will be sent to winners at the email address on the entry form. The odds of winning will depend upon the number of entries. 3. All prizes will be awarded to winners selected by random drawing from all valid entries received. Drawing will be conducted by Leisure Publishing Inc.,an independent publisher,whose decisions are final on all matters relating to this sweepstakes. Winners will be notified by email to the address provided on the entry form. Only one prize to a family or household. Due to the nature of this competition,you must be 21 or older to win. Proof of age will be required prior to receiving free tickets to alcohol-related events. 4. Sweepstakes is open to all residents of the U.S. and Canada except advertisers,their employees,their advertising and promotion agencies,and the families of each. Void wherever taxed,restricted or prohibited by law. Prizes are not transferable; may not be exchanged or substituted; cannot be redeemed for cash; must be taken in their entirety; no substitutions permitted. Taxes,if any,are the responsibility of the individual winners. 5. Entry in sweepstakes constitutes permission to use winners’ names and photograph for advertising and publicity purposes,without further compensation to winners. For names of prize winners,self-addressed envelope to: "Blue Ridge Country Beerfest Promotion" — Winners,P.O. Box 21535,VA 24018.</textarea>
        </div>
    </li>

    <li class="section">
        <h3>Subscribe / Win!</h3>
        <div>While you don't have to subscribe to win,we hope you will!</div>
    </li>

    <li>
    <label class="desc">Sweepstakes Selection</label>
        <div class="col">
        <span><input id="choice1" name="mc" class="field radio" type="radio" value="Robots" checked="checked" />
        <label class="choice" for="choice1">Robots</label></span>

        <span><input id="choice2" name="mc" class="field radio" type="radio" value="Monkeys"/>
        <label class="choice" for="choice2">Monkeys</label></span>
        </div>
    </li>

    <li>
    <label class="desc">Official Rules</label>
        <div class="col">
        <span><input class="checkBox" type="checkBox" name="chk" onClick="apply()" value="accept" />
        <label class="choice">I accept the terms and conditions from the "Official Rules" above.</label></span>
        </div>
    </li>    

    <li class="buttons">
        <input id="saveForm" class="btTxt" type="submit" name="sub" value="Submit" disabled="disabled" />
    </li>
    </ul>

    <div style="display: none;">
        <input type="hidden" name="referrer" value="<?PHP echo $referrer; ?>" />
        <input type="hidden" name="campaignID" value="<?PHP echo $campaign; ?>" />
    </div>

</form>

</div>
最佳答案
不用等待您的编辑,我几乎可以保证问题出在页面上的JS代码中,这会将状态更改为您认为不是的状态.我根本看不到这与CSS相关.我建议您检查DOM,并逐步介绍在Firebug中执行的方法.

并且我还要押注您的函数应该被重写:

function apply()
{
  with(document.form1) { sub.disabled = !chk.checked; }
}
原文链接:https://www.f2er.com/css/530725.html

猜你在找的CSS相关文章