Проверка, является ли значение функцией

Мне нужно проверить, является ли значение формыonsubmit это функция. Формат обычноonsubmit="return valid();", Есть ли способ сказать, если это функция, и если она вызывается? Использование typeof просто возвращает, что это строка, которая мне не сильно помогает.

РЕДАКТИРОВАТЬКонечно, я понимаю, что "return valid ();" это строка Яreplaced до «valid ();» и даже «valid ()». Я хочу знать, является ли один из них функцией.

РЕДАКТИРОВАТЬ: Вот код, который может помочь объяснить мою проблему:

$("a.button").parents("form").submit(function() {
    var submit_function = $("a.button").parents("form").attr("onsubmit");
    if ( submit_function && typeof( submit_function.replace(/return /,"") ) == 'function' ) {
        return eval(submit_function.replace(/return /,""));
    } else {
        alert("onSubmit is not a function.\n\nIs the script included?"); return false;
    }
} );

РЕДАКТИРОВАТЬ 2Вот новый код. Кажется, мне все еще нужно использовать eval, потому что вызов form.submit () не запускает существующие onsubmits.

var formObj = $("a.button").parents("form");
formObj.submit(function() {
    if ( formObj[0].onsubmit && typeof( formObj.onsubmit ) == 'function' ) {
        return eval(formObj.attr("onsubmit").replace(/return /,""));
    } else {
        alert("onSubmit is not a function.\n\nIs the script included?");
        return false;
    }
} );

Предложения о том, как сделать это лучше?

Ответы на вопрос(15)

Ваш ответ на вопрос