由于标记中的onload事件,标记中的javascript无法正常工作

时间:2012-02-14 10:04:10

标签: javascript jquery html

<head>标记中,我有一个生成cookie的javascript代码。

当我删除正文中的onload事件时,奇怪的是,生成了cookie。当onload事件未被删除时,将不会生成cookie。下面请找代码。我认为问题是因为onload事件。

<body onload = "changeVal()" > 

<script language="JavaScript">
function changeVal() {
var myForm = document.getElementById('DownloadForm');
myForm.cmbCountries.value = geoip_country_name();

if (geoip_country_name() == 'United Kingdom' || ... )
      {
      $("#MemberCountryOptInchk").show();
      }
  else {
        $("#MemberCountryOptInchk").hide();
      $(".hiddenf").hide();
      $(".hiddenf").attr("disabled", "disabled");   
      $("#MemberCountryOptInchk").attr("disabled", "disabled");  
     }


  if (geoip_country_name() == 'United Kingdom'){

      $("#cmbcounty").show();
      $("#cmbCounty").show();
      $("#cmbCounty").focus();
      $("#cmbCounty").attr("disabled", "");
      $("#cmbcounty").attr("disabled", "");   



  }
  else if (geoip_country_name() == 'United States'){

      $("#cmbstate").show();
      $("#cmbStateus").show();
      $("#cmbStateus").focus();
      $("#cmbStateus").attr("disabled", "");
      $("#cmbstate").attr("disabled", "");
  }


  else if (geoip_country_name() == 'Australia'){

      $("#cmbaus").show();
      $("#cmbAus").show();
      $("#cmbAus").focus();
      $("#cmbAus").attr("disabled", "");
      $("#cmbaus").attr("disabled", "");
  }




 else if (geoip_country_name() == 'Canada'){

      $("#cmbstateca").show();
      $("#cmbStateca").show();
      $("#cmbStateca").focus();
      $("#cmbStateca").attr("disabled", "");
      $("#cmbstateca").attr("disabled", "");
  }

  else if (geoip_country_name() != 'Canada' || geoip_country_name() != 'United States' || geoip_country_name() != 'United Kingdom'  || geoip_country_name() != 'Australia' ) {

    $("#cmbStateus").hide();
    $("#cmbstate").hide();
    $("#cmbStateus").attr("disabled", "disabled");
    $("#cmbstate").attr("disabled", "disabled");



    $("#cmbAus").hide();
    $("#cmbaus").hide();       
    $("#cmbAus").attr("disabled", "disabled");
    $("#cmbaus").attr("disabled", "disabled");

    $("#cmbStateca").hide();
    $("#cmbstateca").hide();       
    $("#cmbStateca").attr("disabled", "disabled");
    $("#cmbstateca").attr("disabled", "disabled");


    $("#cmbCounty").hide();
    $("#cmbcounty").hide();
    $("#cmbCounty").attr("disabled", "disabled");
    $("#cmbcounty").attr("disabled", "disabled");    

  } 
}
</script>

1 个答案:

答案 0 :(得分:0)

这听起来很明显,但您是否尝试过调用 ChangeVal()函数

$(document).ready(function() {
   //Hallelujah
   changeVal() 
 });

而不是在 body 属性中执行 onLoad 。如果您想在加载DOM时调用更多函数,这甚至可以帮助您。