Javascript 表单提交后,重置按钮在表单中不起作用

Javascript 表单提交后,重置按钮在表单中不起作用,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我有一个php页面“search.php”。页面中的一个表单。我有一个提交和一个重置按钮。“重置”按钮在表单提交之前起作用,但在提交之后不起作用。表单提交后,页面被重定向到同一页面(search.php),以查看包含相同表单的结果。有人对这个问题有线索吗 <form action="http://localhost:8888/search/validate_search" name="search" id="search" method="post" accept-charset=

我有一个php页面“search.php”。页面中的一个表单。我有一个提交和一个重置按钮。“重置”按钮在表单提交之前起作用,但在提交之后不起作用。表单提交后,页面被重定向到同一页面(search.php),以查看包含相同表单的结果。有人对这个问题有线索吗

    <form action="http://localhost:8888/search/validate_search" name="search" id="search" method="post" accept-charset="utf-8">
    <p>
        <label for="name">Name</label>
        <input type="text" name="name" id="name" value="" required="required">
    </p>
    <p>
        <label for="country">Country</label>

        <select name="country[]" id="country">
            <option value="">Select</option>
            <option value="Afghanistan" >Afghanistan</option><option 

value="Albania" >Albania</option><option value="Algeria" >Algeria</option><option value="American Samoa" >American Samoa</option><option value="Andorra" >Andorra</option><option value="Angola" >Angola</option><option value="Anguilla" >Anguilla</option>            </select>

    </p>
    <p id="nofloat">
        <input type="submit" name="searchButton" value="Search" id="searchButton"  />
        <input type="reset" name="reset" value="Reset" id="reset123"/>
    </p>
   </form>  


名称

国 选择 阿富汗人巴尼亚阿尔及利亚美属萨摩亚安道尔安哥拉安圭拉


加载页面时,
type='reset'
的行为不是清除表单元素,而是将它们返回到初始/默认值。提交表单后,如果将提交的值传递回要预填充(设置为初始值)表单,则重置按钮将仅将字段重置为那些传递的值,而不是“清除”状态。要真正清除表单,需要使用Javascript

下面是一个适用于您问题中给出的HTML的示例

<script>
function customReset()
{
    document.getElementById("name").value = "";
    document.getElementById("country").value = "";
}
</script>

函数customReset()
{
document.getElementById(“名称”).value=“”;
document.getElementById(“国家”).value=“”;
}
只需将重置按钮更改为此

<input type="button" name="reset" value="Reset" id="reset123" onclick="customReset();"/>


加载页面时,
type='reset'
的行为不是清除表单元素,而是将它们返回到初始/默认值。提交表单后,如果将提交的值传递回要预填充(设置为初始值)表单,则重置按钮将仅将字段重置为那些传递的值,而不是“清除”状态。要真正清除表单,需要使用Javascript

下面是一个适用于您问题中给出的HTML的示例

<script>
function customReset()
{
    document.getElementById("name").value = "";
    document.getElementById("country").value = "";
}
</script>

函数customReset()
{
document.getElementById(“名称”).value=“”;
document.getElementById(“国家”).value=“”;
}
只需将重置按钮更改为此

<input type="button" name="reset" value="Reset" id="reset123" onclick="customReset();"/>


请显示代码。请显示代码。我使用了javascript.reset()函数,但它返回了一个错误。reset()不是函数错误。@ManikShakya这是因为您有一个名为“reset”的元素。这将覆盖本机Javascript
reset()
函数。但是您不想使用该函数,因为它与
type='submit'
输入字段的作用相同。您需要编写代码来显式地将字段设置为空值。查看更新。@ManikShakya如果这解决了您的问题,那么您应该将此答案标记为已接受,以便人们知道。请注意:使用
type=“button”
比使用
type=“reset”
更好,因为HTML重置和JS重置之间会有冲突。我使用了javascript.reset()函数,但它返回一个错误。reset()不是函数错误。@ManikShakya这是因为您有一个名为“reset”的元素。这将覆盖本机Javascript
reset()
函数。但是您不想使用该函数,因为它与
type='submit'
输入字段的作用相同。您需要编写代码来显式地将字段设置为空值。查看更新。@ManikShakya如果这解决了您的问题,那么您应该将此答案标记为已接受,以便人们知道。请注意:使用
type=“button”
比使用
type=“reset”
更好,因为HTML重置和JS重置之间会有冲突。