0

我有一个 javascript 函数可以更改表单上的某些字段,我有两个按钮一个调用 javascript 函数,另一个提交表单。问题是调用javascript函数的按钮提交表单。我尝试将按钮类型更改为“按钮”,它会制动按钮并且它不起作用。

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

        //$("#usernameField").attr("value","");
        //$("#passwordField").attr("value","");


        if (authType == 0) {

            $("#usernameLabel").hide();
            $("#usernameField").hide().find('input:text').val("");

            $("#passwordLabel").hide();
            $("#passwordField").hide().find('input:text').val("");

            //$("#initialCatalogLabel").show();
            //$("#initialCatalogField").show();

            document.getElementById("button1").textContent = "Intergrated";
            $('#authType').val(1);


        }
        else {

            $("#usernameLabel").show();
            $("#usernameField").show();
            $("#passwordLabel").show();
            $("#passwordField").show();
            //$("#initialCatalogLabel").hide();
            //$("#initialCatalogField").hide();

            document.getElementById("button1").textContent = "SQL Authentication";
            $('#authType').val(0);
            //return false;

        }


<h2>Create</h2>


@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)


<fieldset>
    <legend>connection</legend>
   <div class="editor-label">
       Authentication Type
   </div>
   <div>
      <button id="button1" value="Intergrated" name="intergrated">SQL Authentication</button>
   </div>
   <br />
   <br />

    <div class="editor-label">
        Connection Name
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.conName)
        @Html.ValidationMessageFor(model => model.conName)
    </div>
    <div class="editor-label">
       Data Source
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.dataSource)
        @Html.ValidationMessageFor(model => model.dataSource)
    </div>
     <div class="editor-label" id="initialCatalogLabel">
       Initial Catalog
    </div>
    <div class="editor-field" id="initialCatalogField"> 
        @Html.EditorFor(model => model.initialCatalog) 
        @Html.ValidationMessageFor(model => model.initialCatalog)
    </div>

    <div class="editor-label" id = "usernameLabel">
       Username
    </div>
    <div class="editor-field" id="usernameField">
       @Html.EditorFor(model => model.username)
        @Html.ValidationMessageFor(model => model.username)
    </div>
    <div class="editor-label" id = "passwordLabel">
       Password
    </div>
    <div class="editor-field" id = "passwordField">
        @Html.EditorFor(model => model.password)
        @Html.ValidationMessageFor(model => model.password)
    </div>
    <div>
        <input type="hidden" name="authType" id="authType" value="@Model.authType" />
    </div>


   <p>
        <input type="submit" value="Create"/>
        @{
if (!string.IsNullOrEmpty(ViewBag.error))
{
                <div style="color:Red">
                   @ViewBag.error 
                </div>           
}
        }
    </p>

</fieldset>

}

4

2 回答 2

0
 <input type="button" id="button1" value="Integrated" />

也许您尝试的按钮类型错误?

于 2013-06-24T13:49:57.290 回答
0

您需要定位表单,而不是按钮

e.preventDefault();使用jquery时无需使用。

$('form').submit(function(e){
    return false;
});
于 2013-06-24T13:51:41.423 回答