2011-06-06 35 views
0

我有一个注册表格帮助有关JavaScript removeclass

<form class="sform" method="post" action="<?=base_url()?>login/create_member" > 
       <div class="rleft">User Type <span style="color:red">*</span></div> 
       <div class="fright"> 
       <select name="role" id="role" onchange="rToggle()"> 
       <option value="1">Company</option> 
           <option value="2">Student</option> 
       </select> 
       </div> 
       <div class="rleft">Username <span style="color:red">*</span></div><div class="fright"> 
        <input name="username" type="text" id="username" size="20" title="Username" class="rtb" value="<?php echo set_value('username');?>"> 
       <?php echo form_error('username');?></div> 
       <div class="rleft">Password <span style="color:red">*</span></div><div class="fright"> 
        <input name="password" type="password" id="password" size="20" title="Password" class="rtb" value="<?php echo set_value('password');?>"> 
       <?php echo form_error('password');?></div> 
       <div class="rleft">Confirm&nbsp;Password <span style="color:red">*</span></div><div class="fright"> 
        <input name="password2" type="password" id="cpassword" size="20" title="Confirm Password" class="rtb" value="<?php echo set_value('password2');?>"> 
       <?php echo form_error('password2');?></div> 
       <div class="rleft">Last Name <span style="color:red">*</span></div><div class="fright"> 
        <input name="lname" type="text" id="firstname" title="First Name" class="rtb" value="<?php echo set_value('lname');?>"> 
       <?php echo form_error('lname');?></div> 
       <div class="rleft">First Name <span style="color:red">*</span></div><div class="fright"> 
        <input name="fname" type="text" id="lastname" title="Last Name" class="rtb" value="<?php echo set_value('fname');?>"> 
       <?php echo form_error('fname');?></div> 
       <div class="rleft">Middle Initial <span style="color:red">*</span></div><div class="fright"> 
        <input name="mname" type="text" id="middlename" size="5" title="Middle Initial" value="<?php echo set_value('mname');?>"> 
       <?php echo form_error('mname');?></div> 
       <div class="rleft">E-mail Address <span style="color:red">*</span></div><div class="fright"> 
        <input NAME="email_add" type="text" id="email" title="Email" class="rtb" value="<?php echo set_value('email_add');?>"> 
       <?php echo form_error('email_add');?></div> 
       <div id="companydetails"> 
        <div class="rleft">Position/Title <span style="color:red">*</span></div><div class="fright"> 
         <input NAME="cposition" type="text" id="cposition" title="Position/Title" class="tb"> 
        </div> 
        <div class="rleft">Company Name <span style="color:red">*</span></div><div class="fright"> 
         <input NAME="cname" type="text" id="cname" title="Company Name" class="tb"> 
        </div> 
        <div class="rleft">Office Address <span style="color:red">*</span></div><div class="fright"> 
         <input NAME="caddress" type="text" id="caddress" title="Office Address" class="tb"> 
        </div> 
        <div class="rleft">Contact Number <span style="color:red">*</span></div><div class="fright"> 
         <input NAME="ccontact_no" type="text" id="ccontact_no" title="Office Address" class="tb"> 
        </div>      
       </div>     
       <div class="rleft">&nbsp;</div> 
       <div class="fright"> 
        <input type="submit" value="Save" name="submit" id="regsubmit"> 
        <input type="reset" value="Clear" ></div> 



      </form> 

和我的javascript功能

function rToggle() 
{ 
    if ($('#role').val() == '1') { 
     $('#companydetails').hide(); 
     $('#cposition').removeClass('rtb');  
     $('#cname').removeClass('rtb');    
     $('#caddress').removeClass('rtb');  
     $('#ccontanct_no').removeClass('rtb');  
    } 
    else { 
     $('#companydetails').show(); 
     $('#cposition').addClass('rtb');  
     $('#cname').addClass('rtb');    
     $('#caddress').addClass('rtb');  
     $('#ccontanct_no').addClass('rtb');  
    } 
} 

这个工作是这样的:

如果我选择2(学生),它只会显示此字段:用户名,传球,公共社会行动中心,FNAME,MNAME,EMAIL_ADDRESS

如果我选择1(公司),它会显示包括所有领域上述领域和CNAME,cposition,caddress,ccontact_no

现在的问题是,当我填写,然后选择2(学生)的所有字段还是会保存在我的数据库中的所有POST数据。我想要的是即使我填满了所有的领域,然后选择2(学生)在公司细节的人现在必须保存。 任何人都知道要解决这个问题?或在JavaScript的专家?

+0

您使用JQuery的,对不对?如果是,请将其包含在标签中。 – 2011-06-06 10:54:48

回答

0

您应该将PHP添加到您的标签。

但要回答你的问题:这是一个服务器端问题。用JavaScript来解决是不够的。
在您的PHP代码中,无论您编写INSERT或UPDATE查询,您都必须检查角色是否为2,如果不是,则不要添加额外的字段。

为了避免被传递到服务器的额外字段时不必要的,您可以更新这样的代码:

if ($('#role').val() == '1') { 
    // ... 

    $('#cposition').disabled = false; 
    // etc. for the other inputs 
} 
else { 
    // ... 

    $('#cname').disabled = true; 
    // etc. 
}