表单提交到同一页面时,不会引发$(document.ready)

时间:2014-01-28 06:37:06

标签: php jquery submit

我开发了一个带有搜索工具的多字段表单。我使用弹出窗口显示搜索结果,用户可以选择其中一个结果进行编辑并填充父窗口。另外,我需要将jQuery和PHP之间的两个变量传递给页面进行格式化。我已经做到了。我面临的唯一问题是在关闭弹出窗口后提交表单时,它不会唤起其$(document).ready()$(window).load()方法。

我在弹出窗口中使用的代码:

$("#modify").on('click', function () {
    var $ele = $('input[name="rad_selected"]:checked');

    if ($ele.length) {
        var $tds = $ele.closest('tr').find('td');
        var id = $tds.eq(2).text();
        var requestor = $tds.eq(3).text();
        // and so on..
        //alert(id);            
        //alert(requestor);
        opener.document.frm_beneficiary.task.value =  "modify";
        opener.document.frm_beneficiary.role.value = 10;
        opener.document.frm_beneficiary.benid2.value =  trim(id);
        opener.document.frm_beneficiary.searchName2.value =  trim(requestor);
        self.close();
    }
    else {
        alert("Select a record you want to edit.");
    }
});

这会将所有四个值成功传递给表单的隐藏字段。甚至搜索也工作正常。

父窗口上的代码:

function submitForm()
{

    with(document.frm_beneficiary)
    {
        alert("submitform");
        action = "frm_ben_entry.php";
        submit();
    }
}

关闭弹出窗口后调用此submitForm()函数。

注意:submitForm()在页面本身中被多次调用,并且在使用时不会弹出$(document).ready()$(window).load()方法。我没有得到我所缺少的东西。

我只是想在重新加载页面时引发这两个jquery方法。感谢。

修改 添加此代码以在弹出窗口关闭后调用submitForm()函数

window.onunload = function (e) {
    opener.submitForm(); //or
    //opener.document.getElementById('someid').innerHTML = 'update content of parent window';
};

0 个答案:

没有答案