2017-05-15 1 views
0
@model CETAPPSUGG.Models.CustomAppViewModel 

@{ 
    ViewBag.Title = "UPLOAD YOUR APPLICATION"; 
} 

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script> 
<script type="text/javascript"> 
    $(document).ready(function() 
    { 
     var locationFile; 

     $('#txtUploadFile').on('change', function (e) { 
      alert('tta"'); 
      var files = e.target.files; 
      //var myID = 3; //uncomment this to make sure the ajax URL works 
      if (files.length > 0) { 
       if (window.FormData !== undefined) { 
        var data = new FormData(); 
        for (var x = 0; x < files.length; x++) { 
         data.append("file" + x, files[x]); 
         alert('tta"'); 

        } 

        $.ajax({ 
         type: "POST", 
         url: '/Apps/UploadHomeReport', 
         contentType: false, 
         processData: false, 
         data: data, 
         success: function (result) { 
          locationFile = result; 
          $('#hat').val(result); 

          console.log(result); 
         }, 
         error: function (xhr, status, p3, p4) { 
          var err = "Error " + " " + status + " " + p3 + " " + p4; 
          if (xhr.responseText && xhr.responseText[0] == "{") 
           err = JSON.parse(xhr.responseText).Message; 
          alert('errrrror"'); 

          console.log(err); 
         } 
        }); 
       } else { 
        alert("This browser doesn't support HTML5 file uploads!"); 
       } } 

     }); 


     function GetCity(_stateId) { 
      alert("It called"); 

      var procemessage = "<option value='0'> Please wait...</option>"; 
      $("#ddlcity").html(procemessage).show(); 
      var url = "/Home/GetCityByStaeId/"; 

      $.ajax({ 
       url: url, 
       data: { stateid: _stateId }, 
       cache: false, 
       type: "POST", 
       success: function (data) { 
        var markup = "<option value='0'>Select Sub Category</option>"; 
        for (var x = 0; x < data.length; x++) { 
         markup += "<option value=" + data[x].Value + ">" + data[x].Text + "</option>"; 
        } 
        $("#ddlcity").html(markup).show(); 
       }, 
       error: function (reponse) { 
        alert("error : " + reponse); 
       } 
      }); 

     } 


    }); 


</script> 


<div class="col-md-12"> 
@using (Html.BeginForm("AppPost", "Apps", null, FormMethod.Post, new { enctype = "multipart/form-data" })) 

{ 
    @Html.HiddenFor(model => model.Apps.AppFileLocation, new { id = "hat" }); 


    <table class="table" width="200"> 
     <tbody> 
      <tr> 
       <td>Application Name: </td> 
       <td>@Html.EditorFor(model => model.Apps.AppName, new { htmlAttributes = new { @class = "form-control" } }) 
       @Html.ValidationMessageFor(model => model.Apps.AppName, "", new { @class = "text-danger" }) </td> 
      </tr> 
      <tr> 
       <td>Application Description: </td> 
       <td>@Html.EditorFor(model => model.Apps.AppDescription, new { htmlAttributes = new { @class = "form-control" } }) 
       @Html.ValidationMessageFor(model => model.Apps.AppDescription, "", new { @class = "text-danger" })</td> 
      </tr> 
      <tr> 

       <td>Select Category: </td> 
       <td>@Html.DropDownListFor(m => m.SelectedFlavorId, Model.FlavorItems) 
      @Html.ValidationMessageFor(model => model.Apps.Categories.Id, "", new { @class = "text-danger", @onchange = "javascript:GetCity(this.value);" })</td> 
      </tr> 
      <tr> 
       <td>Select Sub Category: </td> 
       <td>@Html.DropDownListFor(m => m.SelectedFlavorSubCategoryId, Model.FlavorSubCategoryItems) 
       @Html.ValidationMessageFor(model => model.Apps.SubCatagories.Id, "", new { @class = "text-danger" })</td> 
      </tr> 
      <tr> 
       <td>Upload Picture: </td> 
       <td>@Html.EditorFor(model => model.icon, new { htmlAttributes = new { @class = "form-control" } }) 
       @Html.ValidationMessageFor(model => model.icon, "", new { @class = "text-danger" })</td> 
      </tr> 
      <tr> 
       <td>Select your Application from Computer: </td> 
       <td><input type="file" name="Upload From Computer" id="txtUploadFile" class="makethispretty" required/></td> 
      </tr> 
      <tr> 

       <td class="text-primary">Click Create to Submit</td> 

       <td><input type="submit" value="Create" class="btn btn-success" /> 
</td> 
      </tr> 
     </tbody> 

    </table> 
    <select id="deneme" onchange="javascript:GetCity(this.value);"> <option value="1">Opsiyon1 </option> 
    <option value="2">Opsiyon2</option></select> 
    <select id="ddlcity" name="ddlcity" style="width: 200px"></select> 


} 

    </div> 

機能GetCity(_stateId)は実行されません。 txuploadファイルとajaxの他の関数は正常に動作しますが、getCity関数は動作しません。私はアラートを見ることさえできませんか?私は何が欠けている。ブラウザに混乱がありますか?ありがとうございましたjquery関数は実行されません。私が紛失しているもの

+1

getCityがグローバルでないため – epascarello

答えて

1

ValidationMessageForonclickイベントハンドラを追加しています。おそらく、それをDropdownListForに追加することを意味しますか?

また、機能GetCityは、DOMReadyのスコープ内で定義されています。 onclickハンドラが実行されるグローバルコンテキストでは使用できません。 $(document).ready(function() { ... });の外に移動する必要があります。

+0

ありがとうございます。出来た – user2394800

関連する問題