javascript - 单击 RadioButton 时关联的文本框

标签 javascript c# asp.net .net radio-button

Plzz 有人告诉我我下面的代码有什么问题...因为第一个函数(changeME)正在工作但是2ND 函数(inputName)没有工作....变量有问题吗?作为 m New in asp.net plzz 帮助我了解一些我可能会遗漏的基本概念。

 `PROJECT
  <input type="radio" name="portal" id="radio1" onclick="changeMe(this);"/> &nbsp; <input type="text" name="textprojectOff" id="text1" value="Project Name" onclick="changeMe(this);"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 


<script type="text/javascript" >
    function changeMe(inField) {
        var fieldId = inField.id;
        var type = fieldId.substring(0, 4);

        if (type == 'text') {
            var name = fieldId.substring(4);
            var radioButton = document.getElementById("radio" + name);
            radioButton.checked = true;
        } else {
            var name = fieldId.substring(5);
            var textField = document.getElementById("text" + name);
            textField.focus();
        }
    }
</script>
NON-PROJECT<input type="radio" id="radio2" name="portal" onclick="inputName(this)"/> &nbsp; <input type="text" name="textnonprojectOff" id="text2" value="Departement" onclick="inputName(this);"/>
<script type="text/javascript">

  function inputName(inDepartment){
       var departmentId=inDepartment.id;
       var type= departmentId.substring(0,4);

  if (type== 'text'){
      var name= inDepartment.substring(4);
      var radioButton=document.getElementById("radio"+ name);
      radioButton.checked=true;
  }
   else{
       var name=inDepartment.substring(5);
       var textfield=document.getElementById("text"+name);
       textfield.focus();
      }

</script>   

protected void RadioButton2_Checked(对象发送者,EventArgs e) { 如果 (RadioButton2.Checked) { TextBox11.Visible = true; } 别的 { TextBox11.Visible = false; TextBox11.Text = string.Empty; } } protected void RadioButton3_Checked(object sender, EventArgs e) { 如果 (RadioButton3.Checked) { TextBox12.Visible = true; } 别的 { TextBox12.Visible = false; TextBox12.Text = string.Empty; } }
任何人都可以根据我之前的要求修改此代码,因为我的 AIM 与之前的相同,但现在我正在为其使用代码隐藏......但它无法正常工作......
请检查之前答案中给出的 fiddle ,并相应地修改此代码。

最佳答案

检查这个 Fiddle

function inputName(inDepartment){
       var departmentId=inDepartment.id;
       var type= departmentId.substring(0,4);

  if (type== 'text'){
      var name= departmentId.substring(4);
      var radioButton=document.getElementById("radio"+ name);
      radioButton.checked=true;
  }
  else{
       var name=departmentId.substring(5);
       var textfield=document.getElementById("text"+name);
       textfield.focus();
      }
  }

var name= departmentId.substring(4); 而不是 var name= inDepartment.substring(4);

  • inDepartment 是您作为参数传递的对象。 substring() 方法对其不起作用。
  • 另外,您可以为这两个元素重复使用相同的函数;无需编写单独的函数。

关于javascript - 单击 RadioButton 时关联的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23773814/

相关文章:

c# - 如何授予我的 ASP.NET MVC 应用程序对注册表项的读取访问权限?

javascript - jQuery 附加错误位置

javascript - 避免在 HTML5 Canvas 中混合颜色

javascript - 将字符串 ">number<"转换为 "><a href="tel :number">number</a><"

c# - 如何从 System.DateTime.Now.Hour 获取 24 小时制?

c# - 如何使用 JWK 为 ES256 alg 验证 JWT?

.net - 在 ASP.Net 中使用模板生成 JavaScript

c# - 如何使用 OpenXML 在 Word 文档中设置复选框值

javascript - 如何指定输入元素中允许的最大字符数 - 设置 maxlength 属性是否足够?

c# - 如何正则表达式用方法结果替换匹配组项