Javascript:传递未知的参数来回调函数

时间:2017-11-24 05:53:17

标签: javascript

我有一个通用的表单检查器,一旦验证它需要切换到一个回调函数来处理表单,我坚持将所需的表单字段转到回调函数。

要求: - checkForm需要是通用的 - 表单字段需要传递给回调函数(在这种情况下为updateSection())

有什么想法吗?

以下当前代码......

HTML Forrm:

<form onsubmit="javascript:checkForm(0,updateSection(), event); return false;">
    <h2>Update Section</h2>
    <p><?php echo $partsAvailable; ?></p>
    <p><input type="text" id="sectionTitle" placeholder="Title" /></p>
    <p><textarea id="sectionContent" placeholder="Content"></textarea></p>
    <p><button type="submit">Update</button></p>
</form>

JavaScript代码:

var allGood = false;

// General form checker
function checkForm(which, callback, evt) {
    evt.preventDefault();
    // We need to check a form to make sure nothing is missed
    var t = document.getElementsByTagName('form')[which];
    var rows = t.getElementsByTagName('p');
    var allGood = false;

    for(var i = 0; i  < rows.length-1; i++) {

        if(!getVal(rows[i].childNodes[0].id)) {
            allGood = false;
        }else{
            allGood = true;
        }
    }

    if(allGood == true)  callback();

    return false;
}

// Getting values from inputs
function getVal(el) {
    val = '';

    switch(el.type) {
        case 'text':
            val = document.getElementById(el).value;
            break;

        case 'select':
            val = document.getElementById(el).options[document.getElementById(el).selectedIndex].value;
            break;

        default:
            val = document.getElementById(el).innerHTML;
    }

    return val;
}

function updateSection(part, title, content) {
    alert('Function called');

    return false;
}

0 个答案:

没有答案