jQuery对话框模式窗体在重新打开时丢失值
我在一个div中有一个表单,当我打开对话框时,我会得到表单和表单的值,如果我按cancel并再次打开,元素的当前值不会填充元素,元素会出现,但没有值,如果我看firebug,我会看到它有值 这是我的对话代码jQuery对话框模式窗体在重新打开时丢失值,jquery,dialog,Jquery,Dialog,我在一个div中有一个表单,当我打开对话框时,我会得到表单和表单的值,如果我按cancel并再次打开,元素的当前值不会填充元素,元素会出现,但没有值,如果我看firebug,我会看到它有值 这是我的对话代码 $( "#divForm" ).dialog({ autoOpen: false, height: 500, width: 350, modal: true, buttons: {
$( "#divForm" ).dialog({
autoOpen: false,
height: 500,
width: 350,
modal: true,
buttons: {
"Save changes": function() {
var bValid = true;
allFields.removeClass( "ui-state-error" );
bValid = bValid && checkLength( fname, "fname", 2, 80 );
bValid = bValid && checkLength( mi, "mi", 0, 5 );
bValid = bValid && checkLength( lname, "lname", 2, 80 );
bValid = bValid && checkLength( add1, "add1", 5, 80 );
bValid = bValid && checkLength( add2, "add2", 0, 50 );
bValid = bValid && checkLength( city, "city", 3, 50 );
bValid = bValid && checkLength( state, "state", 2, 50 );
bValid = bValid && checkLength( zip, "zip", 2, 20 );
if ( bValid ) {
$( "#disp_fname").html(fname.val());
$( "#fname").html(fname.val());
$( "#disp_mi").html(mi.val());
$( "#mi").html(mi.val());
$( "#disp_lname").html(lname.val());
$( "#lname").html(lname.val());
$( "#disp_add1").html(add1.val());
$( "#add1").html(add1.val());
$( "#disp_add2").html(add2.val());
$( "#add2").html(add2.val());
$( "#disp_city").html(city.val());
$( "#city").html(city.val());
$( "#disp_state").html(state.val());
$( "#state").html(state.val());
$( "#disp_zip").html(zip.val());
$( "#zip").html(zip.val());
$( "#disp_country").html(country.find(":selected").text());
$( "#country").html(country.val());
}
$( ".ui-dialog-content" ).dialog( "close" );
},
Cancel: function() {
$( ".ui-dialog-content" ).dialog( "close" );
}
},
close: function(event, ui) {
allFields.val( "" ).removeClass( "ui-state-error" );
}
})
这是我的表格代码
<div id=divForm title="Edit Information" class="ui-dialog-content ui-widget-content">
<form id="niceForm" style="margin-top: 10px">
<input class=textinput name=fname id=fname type=text size='<?=$fname[2]?>' value="<?=$client->fname?>" placeholder="<?=$fname[0]?>">
<?$mi = $formFields['mi'];?>
<input class=textinput name=mi id=mi type=text size='<?= $mi[2]?>' value="<?=$client->mi ?>" placeholder="<?=$mi[0]?>"><br />
<?$lname = $formFields['lname'];?>
<input class=textinput name=lname id=lname type=text size='<?=$lname[2]?>' value="<?=$client->lname ?>" placeholder="<?=$lname[0]?>"><br />
<?$add1 = $formFields['add1'];?>
<input class=textinput name=add1 id=add1 type=text size='<?=$add1[2]?>' value="<?=$client->add1 ?>" placeholder="<?= $add1[0]?>"><br />
<?$add2 = $formFields['add2'];?>
<input class=textinput name=add2 id=add2 type=text size='<?=$add2[2]?>' value="<?=$client->add2 ?>" placeholder="<?=$add2[0]?>"><br />
<?$city = $formFields['city'];?>
<input class=textinput name=city id=city type=text size='<?=$city[2]?>' value="<?=$client->city ?>" placeholder="<?=$city[0]?>"><br />
<?$state = $formFields['state'];?>
<input class=textinput name=state id=state type=text size='<?=$state[2]?>' value="<?=$client->state ?>" placeholder="<?=$state[0]?>">
<?$zip = $formFields['zip'];?>
<input class=textinput name=zip id=zip type=text size='<?=$zip[2]?>' value="<?=$client->zip ?>" placeholder="<?=$zip[0]?>"><br />
<?$country = $formFields['country_index'];?>
<select style="margin: 5px 0px; width:303px" name=country_index id=country_index>
<? foreach($country[3] AS $k=>$v) {
$country_index = $v['country_index'];
$country = $v['country'];
if($client->country_index == $country_index) {
$selected = " SELECTED";
}else{
$selected = " ";
}
echo '<option value=' . $country_index . ' ' . $selected . '>' . $country . '</option>';
}?>
</select>
</form>
</div>
我谷歌可能会发布,对话框div不会重新附加到主体中,但这不会缝合案例,如果我的firebug代码在关闭表单后(在打开表单之前是一样的),这是一个和平
是否有人有同样的问题?关闭表单时,您正在擦除表单的所有值:
close: function(event, ui) {
allFields.val( "" ).removeClass( "ui-state-error" );
}
删除.val()位:
哇,这是真的,出于某种原因,我认为对话框元素独立于实际形式。非常感谢你
close: function(event, ui) {
allFields.val( "" ).removeClass( "ui-state-error" );
}
close: function(event, ui) {
allFields.removeClass( "ui-state-error" );
}