if the month was less than today's month then I should show an error message through javascript in visualforce page.......I have tried but unable to...here is my code
/*javascript*/
<script type="text/javascript">
function validmonth()
{
if(exm < Month(today()))
{
condition=1;
alert("Invalid month");
jQuery(".exm").focus();
return false;
}
}
</script>
/* page */
<apex:selectlist value="{!Item.ExpirationMonth}" size="1" styleclass="exm" >
<apex:selectOptions value="{!item.ExpireMonth}"/>
</apex:selectlist>
/* in constructor */
string dd=datetime.now().format('MM/dd/yyyy');
string mon=dd.substring(0,2);
string year=dd.substring(7,10);
item.ExpirationMonth=mon;
This function validmonth() Ill be calling in Command button.....
Attribution to: eagerinsf
Possible Suggestion/Solution #1
You need to use the LIVE Jquery Event to bind to the Change event on the Select List. Here is an example I mocked up. I've used Javascript to get the month (0-11, hence increment by 1)
<apex:page controller="TestValidateController">
//INCLUDE JQuery Resources
<script type="text/javascript">
var d = new Date();
var n = d.getMonth() + 1;
jQuery.noConflict();
//Use the Live event to bind to changes on the Select List
jQuery(".exm").live('change',
function ()
{
alert('changed ' + jQuery(".exm option:selected").text());
if(jQuery(".exm option:selected").text() < n)
alert('Error');
}
);
</script>
<apex:form>
<apex:selectlist value="{!ExpirationMonth}" size="1" styleclass="exm" >
<apex:selectOptions value="{!ExpireMonth}"/>
</apex:selectlist>
</apex:form>
</apex:page>
Controller :
public with sharing class TestValidateController {
public integer expirationMonth {get;set;}
public SelectOption[] expireMonth {get; set;}
public TestValidateController(){
expireMonth = new List<SelectOption>{};
for (integer inti : (new List<integer>{1,2,3,4,5,6,7,8,9,10,11,12}))
expireMonth.add(new SelectOption(inti+'', inti+''));
}
}
Attribution to: techtrekker
This content is remixed from stackoverflow or stackexchange. Please visit https://salesforce.stackexchange.com/questions/3497