Plzz 有人告诉我我下面的代码有什么问题...因为第一个函数(changeME)正在工作但是2ND 函数(inputName)没有工作....变量有问题吗?作为 m New in asp.net plzz 帮助我了解一些我可能会遗漏的基本概念。
`PROJECT
<input type="radio" name="portal" id="radio1" onclick="changeMe(this);"/> <input type="text" name="textprojectOff" id="text1" value="Project Name" onclick="changeMe(this);"/>
<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)"/> <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/