-1

如何在加载函数中序列化此表单数据。它仅序列化单选值。当我单击更改值并点击“保存”按钮时,ajax 仅适用于单选...问题可能是什么?

Javascript

$(document).ready(function() {

$("#pard_configure_a").click(function() {

        $("#pard_admin").load('../pard_admin/view/configure.php', function() {




            $(":submit").click(function(event) {
        event.preventDefault();


        var data = $("#pard_site_configuration").serialize();
$("#hhh").html(data);
        $.ajax({

            url: "../controller/configure.controller.php",
            type: "POST",
            data:data,

            success: function(responce) {
                //$("#res").html(responce);

            }
        });



    });





});
});


}); 

HTML

<div id="pard_configure">
<p>
<form  id="pard_site_configuration" method="post">
 <fieldset>
<legend >Site Configuration</legend>
<!-- Site Settings-->
<div id="pard_site_settings">
<label class="pard_site_settings">Site Settings</label>
<div class="input-prepend">
<span class="add-on">Site Title</span>
<input class="span6" id="prependedInput" type="text" >
</div>
<br/>
<div id="pard_site_offline_radio" class="input-prepend">
<span class="add-on">Site Offline</span>

<label id="radio_1" class="radio">

<span class="add-on">ON</span>

<input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked>
</label>
<label id="radio_2" class="radio">
<span class="add-on">OFF</span>
<input type="radio" name="optionsRadios" id="optionsRadios2" value="option2">

</label>
</div>
<div class="input-prepend">
<span class="add-on">Admin Email</span>
<input class="span3" id="prependedInput" type="text" placeholder="example@domain.com">
</div>
<div class="input-prepend">
<span class="add-on">Meta Description</span>
<br/>
<textarea rows="3"></textarea>
</div>
<div class="input-prepend">
<span class="add-on">Meta Keywords</span>
<br/>
<textarea rows="3"></textarea>
</div>
<div class="input-prepend">
<span class="add-on">Copyright</span>
<br/>
<textarea rows="3"></textarea>
</div>
</div><!-- Site Settings end-->
<!-- Database Settings-->
<div id="pard_database_settings">
<label class="pard_database_settings">Database Settings</label>
<div class="input-prepend">
<span class="add-on">Host</span>
<input class="span2" id="prependedInput" type="text" placeholder="localhost">
</div>
<div class="input-prepend">
<span class="add-on">Database Name</span>
<input class="span2" id="prependedInput" type="text" placeholder="database">
</div>
<div class="input-prepend">
<span class="add-on">Database Username</span>
<input class="span2" id="prependedInput" type="text" placeholder="Username">
</div>
<div class="input-prepend">
<span class="add-on">Database Password</span>
<input class="span2" id="prependedInput" type="text" placeholder="Password">
</div>
</div><!-- Database Settings end-->
<div id="pard_admin_form_button">
<input id="pard_site_configuration_submit" class="btn btn-small btn-primary" type="submit" value="Save"/>
<input class="btn btn-small" type="submit" value="Close" /></div>
</fieldset></form>
</p><div id="hhh"></div></div>

在 id="hhh" 中序列化结果

optionsRadios=option1

注意我将 id="hhh" 设置为查看序列化数据的临时位置

4

1 回答 1

1

确保在所有表单输入中都有 name 属性:

<input name="someName" class="span6" id="prependedInput" type="text" >

您的代码适用于单选按钮,因为它们具有name属性。当您使用.serialize()时,这会忽略没有名称属性的元素。

于 2013-04-13T18:28:14.997 回答