2013-06-24 232 views
0

我有一個javascript函數,它改變了窗體上的一些字段,我有兩個按鈕一個調用javascript函數,另一個提交表單。問題是調用javascript函數的按鈕提交表單。我已經嘗試將按鈕類型更改爲「按鈕」,該按鈕制動按鈕並且不起作用。HTML按鈕提交表格

$("#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> 

}

回答

0

您需要爲目標的形式,而不是按鈕

無需使用jQuery時使用e.preventDefault();

$('form').submit(function(e){ 
    return false; 
}); 
+0

試過這個按鈕不起作用 –

+0

你嘗試瞄準形式? – Kolby

+0

林不知道你的意思? –

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

也許錯誤類型的按鈕,你試過嗎?