清除 HTML 表格的一部分(重置按钮)

Clearing a portion of a HTML FORM (Reset button)

我的联系表有两列。有没有办法为每列设置一个重置按钮,或者只选择部分字段的按钮?

所以在这个例子中,第二个按钮只清除右列(例如重置所有单选按钮)

<!DOCTYPE html>
<html class="no-js">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1" />

<title>Kontaktformular</title>
<style  type="text/css" media="screen">

body {
    font: normal 12px / 19px Arial, Helvetica, sans-serif;
    color: #626363;
    -webkit-text-size-adjust: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff 
}

.formContainer {
    background-color: #f1f1f2 ;
    padding-left: 20px ;
    padding-top: 20px ;
    padding-bottom: 20px ;
}

.formContainer *:focus {
    outline: 0 ;
}

.formContainer .additionalData{
    padding-top: 30px ;
    /*padding-left: 100px;*/
}

.formContainer .additionalData h2{
    font-size: 12px ;
    line-height: 19px ;
    margin-bottom: 5px ;
}

.formContainer p{
    color: #000 ;
    margin: 0px ;
    margin-bottom: 10px ;
}

.formContainer .formField {
    margin-bottom: 5px ;
}

.formContainer .additionalData .formField {
    margin-bottom: 5px ;
}

.formContainer .additionalData .block{
    margin-bottom: 30px ;
}

.formContainer .formField .formFieldLeft{
    width:60px ;
    float: left ;
}

.formContainer .formField .formFieldRight{
    width:320px ;
    float: right ;

}

.formContainer input {
    border: 1px solid #CCC ;
    padding:6px ;
}

.formContainer label {
    display: block ;
    color: #626363 ;
    vertical-align: bottom ; 
}

.formContainer label.no-break, .formContainer input.no-break {
    display: inline-block ;
}

.formContainer label.rightdistance {
    padding-right: 10px ;
}

.formContainer input[type="text"], .formContainer input[type="email"] {
    width:200px ;
    -webkit-border-radius: 3px ;
    -moz-border-radius: 3px ;
    border-radius: 3px ;
}

.formContainer input.small1 {
    border: 1px solid #CCC ;
    width:50px ;
}

.formContainer input.small2 {
    border: 1px solid #CCC ;
    width:120px ;
}

.formContainer textarea{
    width: 210px ;
    border: 1px solid #CCC ;
    min-height: 100px ;
    font: normal 12px / 19px Arial, Helvetica, sans-serif ;
    padding:6px ;
}

.formContainer span.break {
    display: block ;
}

.formContainer .button{
    display: inline-block ;
    padding: 4px 12px ;
    margin-bottom: 0 ;
    font-size: 14px ;
    line-height: 20px ;
    color: #626363 ;
    text-align: center ;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75) ;
    vertical-align: middle ;
    cursor: pointer ;
    background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6) ;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)) ;
    background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6) ;
    background-image: -o-linear-gradient(top, #ffffff, #e6e6e6) ;
    background-image: linear-gradient(to bottom, #ffffff, #e6e6e6) ;
    background-repeat: repeat-x ;
    border: 1px solid #bbbbbb ;
    border-color: #e6e6e6 #e6e6e6 #bfbfbf ;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25) ;
    border-bottom-color: #bfbfbf ;
    -webkit-border-radius: 4px ;
    -moz-border-radius: 4px ;
    border-radius: 4px ;
}
input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; } /* FF 4-18 */
input:focus::-moz-placeholder { color:transparent; } /* FF 19+ */
input:focus:-ms-input-placeholder { color:transparent; } /* IE 10+ */


@media (min-width: 480px) {

    .formContainer .clientData{
        width: 220px ;
        float: left ;
    }

    .formContainer .additionalData{
        width: 220px ;
        float: left ;
        padding-left: 20px ;
    }

    .formContainer .additionalData{
        padding-top: 0px ;
    }

    .formContainer .additionalData h2 {
        margin-top: 0px ;
    }

    .clearfix:after {
    content: "";
    display: table;
    clear: both;

    }
}

@media (min-width: 800px) {

    .formContainer .clientData{
        width: 400px ;
        float: left ;
    }

    .formContainer .additionalData{
        width: 280px ;
        float: left ;
        padding-left: 100px ;
    }

    .formContainer textarea{
        width: 430px ;
    }

    .formContainer span.break {
        display: inline-block ;
    }
}
</style>
</head>
<body>
<div class="formContainer clearfix">
<form class="clearfix" action="contact" method="post">
    <div class="clientData ">
        <div class="formField">
        <label class="no-break" for="man">Herr</label>
            <input type="radio" name="gender" value="Herr" id="man">
        <label class="no-break" for="woman">Frau</label>
            <input type="radio" name="gender" value="Frau" id="woman">
        </div>
        <div class="formField">
            <label for="Kontaktname">* Name</label>
            <input type="text" size="29" name="Kontaktname" id="Kontaktname">
        </div>
        <div class="formField">
            <label for="Vorname">Vorname</label>
            <input type="text" size="29" name="Vorname" id="Vorname">
        </div>
        <div class="formField">
            <label for="Landeskennzeichen">Landeskennzeichen</label>
            <input class="small1" type="text" size="29" name="Landeskennzeichen" id="Landeskennzeichen">
        </div>
        <div class="formField">
            <div class="formFieldLeft">
            <label for="PLZ">* PLZ</label>
            <input class="small1" type="text" size="29" name="PLZ" id="PLZ">
            </div>
            <div class="formFieldRight">
            <label for="Ort">Ort</label>
            <input class="small2" type="text"  size="29" name="Ort" id="Ort">
            </div>
        </div>
        <div class="formField">
            <label for="Strasse">* Strae</label>
            <input type="text" size="29" name="Strasse" id="Strasse">
        </div>
        <div class="formField">
            <label for="Telefon">* Telefon</label>
            <input type="text" size="29" name="Telefon" id="Telefon">
        </div>
        <div class="formField">
            <label for="Telefax">* Telefax</label>
            <input type="text" size="29" name="Telefax" id="Telefax">
        </div>
        <div class="formField">
            <label for="Email">* e-mail</label>
            <input type="email" size="29" name="Email" id="Email">
        </div>
        <div class="formField">
            <label for="Freie_Texteingabe">Ihre Nachricht an uns:</label>
            <input type="textarea" rows="3" cols="40" placeholder="Ihre Frage oder Anregung..." name="Freie_Texteingabe">
        </div>
        <div class="formField">
            <input type="radio" name="Antwort_per" value="Schreiben" id="Schreiben">
            <label class="no-break rightdistance" for="Schreiben">Bitte um schriftliche Nachricht</label><span class="break"></span>
            <input type="radio" class="" name="Antwort_per" value="EMail" id="EMail">
            <label class="no-break" for="EMail">Bitte um Nachricht per-email</label>    
        </div>
    </div>
    <div class="additionalData">
        <div class="headerContainer ">
            <h2>Kreuzen Sie an</h2>
        </div>
        <div class="block">
            <h2>Produkte</h2>
            <div class="formField">
                <input  type="checkbox" name="Produkt1" value="Ja" id="Produkt1">
                <label class="no-break" for="Produkt1">Produkt1</label>
            </div>
            <div class="formField">
                <input type="checkbox" name="Produkt2" value="Ja" id="Produkt2">
                <label class="no-break" for="Produkt2">Produkt2</label>
            </div>
            <div class="formField">
                <input type="checkbox" name="Produkt3" value="Ja" id="Produkt3">
                <label class="no-break" for="Produkt3">Produkt3</label>
            </div>
            <div class="formField">
                <input type="checkbox" name="Produkt4" value="Ja" id="Produkt4">
                <label class="no-break" for="Produkt4">Produkt4</label>
            </div>
                </div>
        <div class="block">
            <div class="formField">
                <input class="button" type="reset" name="B2" value="Zurcksetzen">
            </div>
        </div>
        <div class="block">
        * Summe von 1 und 2 =
        <input class="small1 no-break" type="text" size="2" name="ergebnis">
        </div>
        <div class="block">
            <input class="button" type="submit" value="Abschicken">
        </div>
    </div>
    </form>
</div>
</body>
</html>

重置按钮不会重置表单的一部分,如果您需要使用按钮重置表单的一部分,您可以尝试使用 jquery,例如

将重置按钮更改为简单按钮, id 属性最初添加到重置按钮和表单以轻松访问它们

<input class="button" type="button" id="B2" name="B2" value="Zurcksetzen">

然后在按钮上分配一个点击事件如下

$(document).ready(function(){
    $("#B2").click(function(){
        $('#my-form').find('input:checkbox').prop('checked', false);
    });
});

下面是帮助重置所有类型的表单元素的代码,您可以保留任何您想要重置的内容并删除您不想重置的内容。

$('#my-form').find('input:text, input:password, select, textarea').val('');
$('#my-form').find('input:radio, input:checkbox').prop('checked', false);

这里有一个根据您的需要工作的 fiddle - http://jsfiddle.net/hwpmeu6d/

您的问题听起来与此类似:reset value of multiple (but not all) form fields with jQuery in one line

你可以用同样的方法解决它 jQuery。