Hola, pinchoso ¡ay!
Con indexOf debería (mejor dicho, lo que necesitas es lastIndexOf); otro modo es leer la longitud de la cadena y leer el último carácter:
Código HTML:
<html>
<head>
<script type="text/JavaScript">
function valida(x)
{
var n = x.length
if (x.substring(n-1,n)==",") alert("correcto, termina en una coma")
else alert("incorrecto, debería terminar en una coma")
}
function valida2(x)
{
if (x.lastIndexOf(",")==x.length-1) alert("correcto, termina en una coma")
else alert("incorrecto, debería terminar en una coma")
}
</script>
</head>
<body>
<form>
Dato a validar (coma al final):<input type="text" name="entrada">
<input type="button" value="método 1" onClick="valida(this.form.entrada.value)">
<input type="button" value="método 2" onClick="valida2(this.form.entrada.value)">
</form>
</body></html>