Я использую MVC3
с HTML
представлениями.
Вот мой взгляд:
@model mobilesurveys.mt.Models.Question
@{ ViewBag.Title = "Question"; }
<div data-role="header" data-theme="b">
<h1>@Model.SurveyName</h1>
</div>
@if (@Model.QuestionType == 7)
{
<div data-role="fieldcontain">
@using (Html.BeginForm("SaveDropDown", "GetQuestion", Model))
{
@Html.AntiForgeryToken()
<fieldset>
<label class="select">@Model.QuestionText</label><br />
<select name="selectedObjects" id="selectchoice1" data-native-menu="false">
<option value="-1">--Select--</option>
@foreach (var item in Model.Options)
{
if (@item.IsAnswer == true)
{
<option selected="selected" value="@item.OptionNumber">@item.OptionText</option>
}
else
{
<option value="@item.OptionNumber">@item.OptionText</option>
}
}
</select>
</fieldset>
<p><input type="submit" id="selectsubmit" value="Next" /></p>
}
</div>
}
@if (@Model.QuestionType == 1)
{
<div data-role="fieldcontain">
@using (Html.BeginForm("SaveRadio", "GetQuestion", Model))
{
@Html.AntiForgeryToken()
<fieldset data-role="controlgroup" id="radio_fieldset">
<label id="l1" for="select-choice-1" class="select">@Model.QuestionText</label><br />
@foreach (var item in Model.Options)
{
if (@item.IsAnswer == true)
{
<input type="radio" checked="checked" name="selectedObjects" id="@item.OptionText" value="@item.OptionNumber" onselect="next(@item.OptionNumber);" />
}
else
{
<input type="radio" name="selectedObjects" id="@item.OptionText" value="@item.OptionNumber" onselect="next(@item.OptionNumber);" />
}
<label for="@item.OptionText">@item.OptionText</label>
}
<br />
</fieldset>
<p><input type="submit" id="radio_submit" onclick="validate(this);" value="Next" /></p>
}
</div>
}
Вот мой JavaScript:
<script type="text/javascript">
$(document).ready(function () {
// validation for select that can not leave empty.
$("#selectsubmit").click(function (e) {
var textContent = $("#selectchoice1").val();
textContent = jQuery.trim(textContent);
if (textContent == "-1") {
alert("please select the value");
$("#selectchoice1").focus();
return false;
}
});
$("#radiosubmit").click(function (e) {
alert('hi');
});
});
</script>
Я перенаправляю на тот же вид с другим идентификатором в моем контроллере.
Проблема в том, что javaScript выполняется только при первой загрузке документа. Когда я нажимаю кнопку radiosubmit
, оповещение не срабатывает.
Как это можно обработать в MVC3?