【问题标题】:Text Box associated on click of RadioButton单击 RadioButton 时关联的文本框
【发布时间】:2014-07-09 13:00:59
【问题描述】:

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

 `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(object sender, EventArgs e) { if (RadioButton2.Checked) { TextBox11.Visible = true; } else { TextBox11.Visible = false; TextBox11.Text = string.Empty; } } protected void RadioButton3_Checked(object sender, EventArgs e) { if (RadioButton3.Checked) { TextBox12.Visible = true; } else { TextBox12.Visible = false; TextBox12.Text = string.Empty; } }
任何人都可以根据我以前的要求修改此代码,因为我的 AIM 与以前相同,但现在我正在使用代码隐藏...但它无法正常工作..
请检查前面答案中给出的小提琴,并相应地修改此代码。

【问题讨论】:

  • 所以您希望在您在文本框中输入特定内容时选择单选按钮..?
  • 你能做一个jsfiddle.net
  • 你还没有关闭function inputName(inDepartment){**}**括号。

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


【解决方案1】:

检查这个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() 方法对它不起作用。
  • 另外,您可以对两个元素重复使用相同的函数;无需编写单独的函数。

【讨论】:

  • 非常感谢......你解决了我的问题......我知道我这样做是一个相当大的错误......你救了我半天!!!
  • 不客气。如果代码中有任何问题,请对这篇文章发表评论。
  • @Ben- NO .. 我只希望与每个单选按钮关联的文本框仅在单击该特定单选按钮时才处于活动状态......好吧,感谢 Shaunakde,我的问题得到了解决......但感谢您对我的问题的兴趣
  • thnkeww 这么多...因为 m 在 asp.net 和 c# 中真的很新,尤其是..所以我经常遇到这些愚蠢的问题..所以上帝知道我的下一个 prblm 随时可能遇到我。 .......
  • 如何在单击相关单选按钮后立即使文本在文本框中不可见?详细说明 - 如果我点击单选按钮“项目”,它旁边显示“项目名称”的文本框将变为空白,以便用户输入数据....帮助 plZZ!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多