This piece of jquery code is suppose to execute a form submit on a drop down select. It works on our test site.
But as soon as we publish it to our live website, it breaks. Can anyone see if there is anything wrong with it?
(ASP / Execute code below)
PAGE: http://www.casa.gov.au/scripts/nc.dll?WCMS:PWA::pc=PC_91330
THE ASP CODE:
<script>
$(document).ready(function() {
$(document).on("change","select#state",function(e){
$("form").submit();
});
});
</script>
<form action="avsafety.asp" method="get">
<p>State:<br/>
<select id="state" name="state">
<option label="ACT" value="ACT" <%if request.querystring("state") = "ACT" then response.write("selected") %>>ACT</option>
<option label="NSW" value="NSW" <%if request.querystring("state") = "NSW" then response.write("selected") %>>NSW</option>
<option label="NT" value="NT" <%if request.querystring("state") = "NT" then response.write("selected") %>>NT</option>
<option label="QLD" value="QLD" <%if request.querystring("state") = "QLD" then response.write("selected") %>>QLD</option>
<option label="VIC" value="VIC" <%if request.querystring("state") = "VIC" then response.write("selected") %>>VIC</option>
<option label="SA" value="SA" <%if request.querystring("state") = "SA" then response.write("selected") %>>SA</option>
<option label="TAS" value="TAS" <%if request.querystring("state") = "TAS" then response.write("selected") %>>TAS</option>
<option label="WA" value="WA" <%if request.querystring("state") = "WA" then response.write("selected") %>>WA</option>
</select>
<input type="submit" value="Search" />
</p>
</form>
THE CODE ON THE LIVE WEBSITE:
<script type="text/javascript">
$(document).ready(function() {
$(document).on("change","select#state",function(e){
$("form").submit();
});
});
</script>
<form action="avsafety.asp" method="get">
<p>
State:<br />
<select id="state" name="state">
<option label="ACT" value="ACT">
ACT
</option>
<option label="NSW" value="NSW">
NSW
</option>
<option label="NT" value="NT">
NT
</option>
<option label="QLD" value="QLD">
QLD
</option>
<option label="VIC" value="VIC">
VIC
</option>
<option label="SA" value="SA">
SA
</option>
<option label="TAS" value="TAS">
TAS
</option>
<option label="WA" value="WA">
WA
</option>
</select> <input type="submit" value="Search" />
</p><input type="hidden" name="session" value="1918276309" />
</form>
You’re using an ancient version of jQuery,
1.2.6which doesn’t have.on(), you’ll need to upgrade to version 1.7+ to use it. Also you might want to be more specific in the form you’re submitting(like give it an id) since there are more than one on the page.