0

我有一个表单,我想切换它的模式以及相应的按钮。基本上,当用户首先打开页面时,他们会看到无法编辑的表单。还有一个“编辑”按钮。当他们点击按钮时,会发生两件事: 1. 表单是可编辑的。2.“编辑”按钮被隐藏,另外两个按钮显示,分别是“保存”和“取消”。

我现在拥有的代码很接近,但不像我上面提到的那样工作。知道如何解决吗?

html:

<div class="eq-height widget grid_4 container flat rounded-sm bspace" id="Div5">
   <header class="widgetheader">
   <h2>Contact</h2>
   </header>

<input type="submit" value="Edit" class="edit edit-one-button btn lg bold ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only ui-state-hover" style="border-style:Solid;"/> 
<input type="submit" value="Save" class="save edit-one-button btn lg bold ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only ui-state-hover" style="border-style:Solid;"/>
<input type="submit" value="Cancel" class="cancel edit-one-button btn lg bold ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only ui-state-hover" style="border-style:Solid;"/>

<fieldset id="Fieldset1" class="content form-fields">
              <div class="inner tspace clearfix">
                <ul id="contact" class="alpha">
                  <li class="contactinfo">
                    <label class="contactinfo grid_12">
                      Rebekah Becker</label>
                  </li></ul>
              </div>

</fieldset>

<fieldset id="Fieldset6" style="display:none"
              class="content form-fields">
              <div class="inner tspace clearfix">
                <ul id="Ul1" class="alpha">
                  <li class="contactinfo">               
                    <label class="contactinfo grid_4">
                      First Name:</label>
                    <input type="text" trim="true" maxlength="250" value="Rebekah" class="profile-field grid_4">              
                  </li></ul>
                 <div class="clear-both"></div>
              </div>
</fieldset>
</div>

CSS:

.save, .cancel 
{
display:none;
}

javascript:

/*script to toggle the form mode*/
<script type="text/javascript">
    var divheight;
    $(".edit-one-button").click(function () {
      var btnname = $(this).val();
      if (btnname == 'Edit') {
        divheight = $('.widget').attr('style');
        $(this).closest('.widget').removeAttr('style');
        $(this).nextUntil('.edit-one-button').toggle();
      }
      else {
        $(this).nextUntil('.edit-one-button').toggle();
        $(this).closest('.widget').attr('style', divheight);
      }
    });
  </script>

/*script to switch the buttons*/
<script type="text/javascript">
  $('.edit').click(function () {
    $(this).hide();
    $(this).siblings('.save, .cancel').show();
  });
$('.cancel').click(function() {
    $(this).siblings('.edit').show();
    $(this).siblings('.save').hide();
    $(this).hide();
});
$('.save').click(function() {
    $(this).siblings('.edit').show();
    $(this).siblings('.cancel').hide();
    $(this).hide();
});
</script>
4

1 回答 1

1

这是按照您在顶部所说的那样做。

$(document).ready(function(){
$("#edit").click(function(){
$('#Fieldset1').hide();
$('#Fieldset6').show();
$('#edit').hide();
$('#save').show();
$('#cancel').show();
});
});
  </script>

如果你想让我做剩下的取消和保存,请告诉我:)

于 2012-07-27T18:22:04.433 回答