Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

184
Visualizações
¿Cómo paso el valor del campo oculto modificado de la función ValidateForm JS al controlador MVC?

Tengo un campo oculto en mi vista y estoy tratando de agregarle un valor en la función de JavaScript validateForm(). Veo que el valor se está cambiando en la ventana de salida. Sin embargo, el modelo que se pasa al controlador como parámetro lo recibe como nulo.

Aquí está el código que he probado

Cshtml:

 @using (Html.BeginForm("ViewAch", "AchNew", FormMethod.Post, new { enctype = "multipart/form-data", id = "CreateACHForm", onsubmit = "validateForm()" })) { <label>First Name <span>*</span></label> @Html.TextBoxFor(m => m.FirstName, new { maxlength = 19, @class = "input-required form-control form-control-sm", id = "fname" }) @Html.ValidationMessageFor(m => m.FirstName, "") <label>First Name <span>*</span></label> @Html.TextBoxFor(m => m.FirstName, new { maxlength = 19, @class = "input-required form-control form-control-sm", id = "fname" }) @Html.ValidationMessageFor(m => m.FirstName, "") @Html.AntiForgeryToken(); @Html.HiddenFor(m => m.TokenizedPayloadNonce); <input type="submit" value="SignUp" class="btn btn-primary btn-lg btn-block" /> }

JavaScript:

 function validateForm() { var NewToken = callExternalSytem(); // retrieving value from the external system document.getElementById('TokenizedPayloadNonce').value = NewToken; }

Así es como lo estoy leyendo desde el controlador:

 [HttpPost] [ValidateAntiForgeryToken] public ActionResult ViewAch(AchProfile achProfile) { var token = achProfile.TokenizedPayloadNonce; }

Puedo acceder a los otros valores de campo, pero no a los que actualicé en validateForm(). ¿Hay algo que me estoy perdiendo?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Con respecto a su caso, puede usar este método para enviar el valor actualizado a su Controller :

Primero cambiamos el tipo de su SignUp de submit a button y vinculamos el formulario de validateForm a su evento onclick :

 @using (Html.BeginForm("ViewAch", "AchNew", FormMethod.Post, new { enctype = "multipart/form-data", id = "CreateACHForm"})) { <label>First Name <span>*</span></label> @Html.TextBoxFor(m => m.FirstName, new { maxlength = 19, @class = "input-required form-control form-control-sm", id = "fname" }) @Html.ValidationMessageFor(m => m.FirstName, "") <label>First Name <span>*</span></label> @Html.TextBoxFor(m => m.FirstName, new { maxlength = 19, @class = "input-required form-control form-control-sm", id = "fname" }) @Html.ValidationMessageFor(m => m.FirstName, "") @Html.AntiForgeryToken(); <input type="hidden" id="myTokenizedPayloadNonce" name="TokenizedPayloadNonce"/> <input type="button" value="SignUp" class="btn btn-primary btn-lg btn-block" onclick="validateForm()" /> }

Una vez que se realiza el enlace, usamos Javascript para enviar su formulario al Controller . Esto vinculará el valor actualizado que requirió a su Model :

 function validateForm() { var NewToken = callExternalSytem(); // retrieving value from the external system document.getElementById('myTokenizedPayloadNonce').value = NewToken; document.getElementById('CreateACHForm').submit(); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda