2011-09-01 121 views
0

我很困惑,为什么这段代码没有清除成功的表单。我在data-role =“collapsible”中使用表单,它应该可以工作。有人可以告诉我是否需要添加其他任何东西,以便在成功通话后重置。由于jquery手机重置未清除表格

$(function() { 

$("#BRV_brtrv").submit(function() { 

    var send = $(this).serialize(); 

    $.ajax({ 
     type: "POST", 
     url: "boxrtrvajax.php", 
     cache: false, 
     data: send, 
     success: function (data) { 

     if (data == 'No data'){ 

     $('#brtv-result').addClass("result_msg").html('Please fill in all fields'); 
     } 
     else 
     { 
     $('#brtv-result').addClass("result_msg").html("You have successfully retrieved: "+data); 
     $("#BRV_brtrv").get(0).reset(); <-- this is the problem area --> 

     } 
    }, 
    error:function (xhr, ajaxOptions, thrownError){ 
     jAlert('There was an exception thrown somewhere'); 
     alert(xhr.status); 
     alert(thrownError); 
    } 
    }); 
    return false; 
    }); 
}); 

赛程表和JS这里:http://jsfiddle.net/Pg4SV/

+++编辑+++

选项试图

$(':input','#BRV_brtrv') 
.not(':button, :submit, :reset, :hidden') 
.val('') 
.removeAttr('checked') 
.removeAttr('selected'); 


$("input[type=range]").val(5).slider("refresh"); 
     $("input[type='checkbox']").attr("checked",false).checkboxradio("refresh"); 
     $("input[type='radio']").attr("checked",false).checkboxradio("refresh"); 
     $('#BRV-brtrv-department').selectmenu('refresh'); 

$(':input,:select', '#BRV_brtrv').removeAttr('checked').removeAttr('selected'); 

document.getElementById('BRV_brtrv').reset(); 

$('#BRV_brtrv').get(0).reset(); 

形式

<form method="post" id="BRV_brtrv" action=""> 

<div data-role="fieldcontain"> 
<label for="BRV_brtrvrb">Requested By *</label> 
<input type="text" name="BRV_brtrvrb" id="BRV_brtrvrb" value="<?php echo $_SESSION['name']; ?>" /> 
</div> 

<div data-role="fieldcontain"> 
<fieldset data-role="controlgroup" data-type="horizontal"> 
    <legend>Service Type *</legend> 
    <input type="radio" name="BRV-id-service-type" id="BRV-brtrv-standard-service" value="standard" /> 
    <label for="BRV-brtrv-standard-service">Standard</label> 
    <input type="radio" name="BRV-id-service-type" id="BRV-brtrv-rapid-service" value="rapid" /> 
    <label for="BRV-brtrv-rapid-service">Rapid</label> 
    </fieldset> 
</div> 

<div data-role="fieldcontain"> 
    <label for="BRV-brtrv-department">Department *</label> 
    <select name="BRV-brtrv-department" id="BRV-brtrv-department" class="select" data-inline="true" data-native-menu="false"> 
    <option>Choose Department</option> 
     <?php 
     while($row = mysql_fetch_array($BRVdept_result)) 
    { 
     $value=$row['name']; 
     $caption=$row['name']; 
     echo "<option value=\"", $value, "\">", $caption, "</option>"; 
     } 
    ?> 
    </select> 
</div> 

<div data-role="fieldcontain"> 
    <label for="BRV-brtrv-address">Address *</label> 
    <select name="BRV-brtrv-address" id="BRV-brtrv-address" class="select" data-inline="true" data-native-menu="false"> 
    <option>Choose Address</option> 
     <?php 
     while($row = mysql_fetch_array($BRVaddr_result)) 
     { 
     $value=$row['address1_com']. " ". $row['address2_com']. " ". $row['address3_com']. " ". $row['town_com']. " ". $row['postcode_com']; 
     $caption=$row['address1_com']. " ". $row['address2_com']. " ". $row['address3_com']. " ". $row['town_com']. " ". $row['postcode_com']; 
     echo "<option value=\"", $value, "\">", $caption, "</option>"; 
     } 
     ?> 
    </select> 
</div> 

<div data-role="fieldcontain"> 
    <label for="BRV-brtrv-slider">No of Boxes *</label> 
    <input type="range" name="BRV-brtrv-slider" id="BRV-brtrv-slider" data-track-theme="a" value="0" min="0" max="10" /> 
</div> 

<div id="BRVbrtrv_boxnumber" data-theme="b"></div> 

<div id="brtv-result"></div> 
<div id="BRV-brtrv-submitDiv" data-role="fieldcontain"> 
    <input name="BRV-brtrv-submit" id="BRV-brtrv-submit" type="submit" value="Retrieve Box" data-inline="true" /> 
</div> 
</form> 
+0

我没有看到你的代码有明显的问题。你能否提供一个[JSFiddle](http://jsfiddle.net/)? – NobRuked

+0

@nobruked请查看小提琴链接原文。谢谢 – bollo

回答

1

你可能有一个元素以id或名称的形式为reset。您需要将元素的ID或名称重命名为其他名称。

+0

威廉请参阅原始问题 – bollo

+0

中的小提琴链接您的代码似乎在桌面上工作:http://jsfiddle.net/william/Pg4SV/4/。我更改了发送网址并取消了提交div。它只是移动,它不起作用? –

+0

威廉是的。谢谢 – bollo