заполнить форму и отправить, не дожидаясь события? - PullRequest
0 голосов
/ 02 апреля 2012

Используя http://en.allexperts.com/q/Javascript-1520/create-form-submit-fly.htm в качестве ссылки, я создаю следующую форму, и ее можно отправить с помощью события onclick или любого другого пользовательского события?Есть ли способ выполнить это при загрузке страницы или мне всегда нужно ждать пользовательского события?

<script>
var params = something
//helper function to create the form
function getNewSubmitForm(){
    var submitForm = document.createElement("FORM");
    document.body.appendChild(submitForm);
    submitForm.method = "POST";
    return submitForm;
}

//helper function to add elements to the form
function createNewFormElement(inputForm, elementName, elementValue){
    var newElement = document.createElement("<input name='"+elementName+"' type='hidden'>");
    inputForm.appendChild(newElement);
    newElement.value = elementValue;
    return newElement;
}
function createFormAndSubmit(){
    var submitForm = getNewSubmitForm();
    createNewFormElement(submitForm, "field1", params.data1);
    createNewFormElement(submitForm, "field2", params.data2);
    submitForm.name= "submitpost";
    submitForm.action= "some URL";
    submitForm.submit();
}
</script>

1 Ответ

0 голосов
/ 03 апреля 2012

Если я правильно понял, вы хотите сделать что-то вроде следующего.Правильно?

 <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">

    $(document).ready(function(){
        var params = ["1","7"];
        createFormAndSubmit();

        //helper function to create the form
        function getNewSubmitForm(){
            var submitForm = document.createElement("FORM");
            document.body.appendChild(submitForm);
            submitForm.method = "POST";
            return submitForm;
        }

        //helper function to add elements to the form
        function createNewFormElement(inputForm, elementName, elementValue){
            var newElement = document.createElement("INPUT");
            newElement.name = elementName;
            newElement.type = 'hidden';
            newElement.value = elementValue;
            inputForm.appendChild(newElement); 
            return newElement;
        }

        function createFormAndSubmit(){
            var submitForm = getNewSubmitForm();
            createNewFormElement(submitForm, "field1", params[0]);
            createNewFormElement(submitForm, "field2", params[1]);
            submitForm.name= "submitpost";
            submitForm.action= "show.jsp";
            submitForm.submit();
        }

    });
    </script>
...