У меня есть кнопка, которая вызывает модальную форму
<a href="#" class="btn btn-primary" data-toggle="modal" data-target="#agregarProducto">Agregar Material </a>
, модал представлен таким образом
upвсе в порядке, я должен сказать, что вышесказанное работает, когда вы работаете локально (localhost), модальная форма выглядит так:
<div class="modal fade" id="agregarProducto">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Agregar Material</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="alert alert-dismissible alert-info">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Tener en cuenta!</strong> <a> para agregar más de una unidad habilite</a><strong> agregar cantidad.</strong>
</div>
<form id="myForm">
<label>Agregar Cantidad</label>
<input type="checkbox" id="idcheckcantidad" />
<input type="text" class="form-control" name="cantidad" id="idcantidad" disabled="disabled" />
<br />
<label>Codigo Producto</label>
<input type="text" class="form-control" name="codigoproducto" id="idcodigoproducto" autofocus="" />
<br />
</form>
</div>
<div class="modal-footer">
<input type="button" value="Agregar Material" class="btn btn-primary" id="btnSubmit" />
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
Код JavaScript, который выполняется, когда вы отправляете на мой модал:
<script>
$(document).ready(function () {
$("#btnSubmit").click(function () {
var myformdata = $("#myForm").serialize();
$.ajax({
type: "POST",
url: "/Despachos/AgregarProducto",
data: myformdata,
success: function () {
$("#agregarProducto").modal("hide");
window.location.href = '@Url.Action("Create", "Despachos")';
},
error: function (xhr, text, error) {
console.log(xhr.status + " => " + error);
}
})
})
})
</script>
этот код вызывает метод в моем контроллере под названием AddProduct:
public JsonResult AgregarProducto(int codigoproducto, int? cantidad)
{
//CONSULTO LOS PRODUCTOS QUE EXISTEN EN EL DETALLE
var despachotmp = db.DespachoDetalleTmps.Where(o => o.Email == User.Identity.Name && o.Kn_CodigoProducto == codigoproducto).FirstOrDefault();
if (despachotmp == null)
{
//BUSCO EL PRODUCTO
var producto = db.Productoes.Find(codigoproducto);
if (producto == null)
{
ViewBag.Error = "Debe Seleccionar un Material Válido";
return Json(false);
}
if (cantidad == null)
{
despachotmp = new DespachoDetalleTmp
{
v_Nombre = producto.v_Nombre,
Kn_CodigoProducto = producto.Kn_CodigoProducto,
Email = User.Identity.Name,
d_Cantidad = 1,
};
db.DespachoDetalleTmps.Add(despachotmp);
}
if (cantidad != null)
{
despachotmp = new DespachoDetalleTmp
{
v_Nombre = producto.v_Nombre,
Kn_CodigoProducto = producto.Kn_CodigoProducto,
Email = User.Identity.Name,
d_Cantidad = Convert.ToInt16(cantidad),
};
db.DespachoDetalleTmps.Add(despachotmp);
}
}
else
{
if (cantidad == null)
{
despachotmp.d_Cantidad += 1;
db.Entry(despachotmp).State = EntityState.Modified;
}
if (cantidad != null)
{
despachotmp.d_Cantidad += Convert.ToInt16(cantidad);
db.Entry(despachotmp).State = EntityState.Modified;
}
}
db.SaveChanges();
var jsonResult = "Json Result";
return Json(jsonResult);
}
Все вышеперечисленное работает локально, но когда я публикую решение на моем веб-сервере, эта форма отображается, но когда я нажимаю на кнопку отправки, она не выполняется (она ничего не делает!), это первый раз, когда я работаю с манерами Boostrap, я делаю это правильно?что происходит, когда при публикации моего решения на моем сервере эта форма перестает работать?
любая помощь для меня?