drop down menu - ASP.NET MVC - DropDownList Validation Problem -
i've got 2 dropdownlists in form on page contain same values (a list of languages). want ensure user doesn't select same value in each of drop downs.
i've tried using javascript ensure selected values aren't same, works fine form submits anyway.
what's best way accomplish this?
here's code view:
<script type="text/javascript"> function checklanguageddl() { var form = document.getelementbyid("form0"); var sourcelangindex = form.sourcelanguage.selectedindex; var targetlangindex = form.targetlanguage.selectedindex; var strsourcelanguage = form.sourcelanguage.options[sourcelangindex].text; var strtargetlanguage = form.targetlanguage.options[targetlangindex].text; if (strsourcelanguage == strtargetlanguage) { alert("source language , target language must different!"); return; } } </script> <% html.beginform("index", "translate", formmethod.post, new { enctype = "multipart/form-data" }); %> <fieldset> <legend>request</legend> <br /> <div class="editor-label"> <%: html.labelfor(m => m.sourcelanguage) %>: </div> <div class="editor-field"> <%: html.dropdownlist("sourcelanguage", (ienumerable<selectlistitem>)viewdata["sourcelanguages"]) %> <%: html.validationmessagefor(m => m.sourcelanguage) %> </div> <br /> <div class="editor-label"> <%: html.labelfor(m => m.targetlanguage) %>: </div> <div class="editor-field"> <%: html.dropdownlist("targetlanguage", (ienumerable<selectlistitem>)viewdata["targetlanguages"]) %> <%: html.validationmessagefor(m => m.targetlanguage) %> </div> <input type="submit" value="submit request" onclick="checklanguageddl();" /> </p> </fieldset>
thanks.
make function return true/false value form submit use return value
function checklanguageddl() { var form = document.getelementbyid("form0"); var sourcelangindex = form.sourcelanguage.selectedindex; var targetlangindex = form.targetlanguage.selectedindex; var strsourcelanguage = form.sourcelanguage.options[sourcelangindex].text; var strtargetlanguage = form.targetlanguage.options[targetlangindex].text; if (strsourcelanguage == strtargetlanguage) { return false; } return true; }
and on button:
onclick="return checklanguageddl();"
Comments
Post a Comment