由于 <body> 标签中的 onload 事件,<head> 标签中的 javascript 无法正常工作

标签 javascript jquery html

<head>标签 我有一个正在生成 cookie 的 javascript 代码。

奇怪的是,当我删除 onload 时主体中的事件,会生成 cookie。当onload事件没有remove时,不会生成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>

最佳答案

这听起来像是在陈述显而易见的事情,但是您是否尝试过从

调用 ChangeVal() 函数
$(document).ready(function() {
   //Hallelujah
   changeVal() 
 });

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

关于由于 <body> 标签中的 onload 事件,<head> 标签中的 javascript 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9274986/

相关文章:

html - 如何在 webforms 的选择中用自定义 HTML 替换 ListItem

javascript - 在关闭按钮旁边的模式标题中 float 按钮

javascript - 是否可以使用 HTML 按钮上传文件以供 W3C 文件 API 使用?

javascript - 在 Javascript 类中使用 const

javascript - 如何修改谷歌折线图的 JSON 字符串

javascript - 从 Node 传递的变量不会显示在 EJS 文件中

javascript - 更改不同部分的标题背景

jquery - 样式引导选择 "placeholder"不同

javascript - TypeScript:自动生成的动态函数名称

javascript - javascript中的继承问题