私は MVC に非常に慣れていないので、説明するのは難しいでしょう。申し訳ありません!
post メソッドを使用して送信する前に検証したいフォームがあります。フォームは Index.cshtml ファイルにあり、HomeController に投稿されます。私の問題は、フォームを送信するときです。正しい index() メソッド (CallMeNow リクエストを使用した HomeController の 2 番目のメソッド) に到達していません。
この方法でこれを解決することは可能ですか?
これは、HomeController.cs ファイルにあるものです。
// GET: /Home/
[HttpGet]
public ViewResult Index()
{
return View();
}
// Send CallMeNow Request.
[HttpPost]
public ViewResult Index(string txtCallMeNow)
{
if (txtCallMeNow != null)
{
// .. doing something here.
}
ViewBag.EmailSent = "Thank you.";
return View();
これは私が Index.cshtml ファイルに持っているものです:
これにより、フォームが検証され、送信されます。
$('#callMeNow1').submit(function (e) { e.preventDefault(); var selectedCity = $('#txtCallMeNow').val(); if (selectedCity == 'enter phone number...') alert('enter phone number!'); else document.location = $(this).prop('action'); });
これがフォームです。HomeController に投稿する必要があります。
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "callMeNow1" })) { <input type="text" id="txtCallMeNow" name="txtCallMeNow" onfocus="if(this.value != '') {this.value = '';}" onblur="if (this.value == '') {this.value = 'enter phone number...';}" value=" enter phone number..." /><br /> <input type="submit" class="call_me_now" value="" /> @ViewBag.EmailSent; }
ありがとう!