开发者

html form submission - javascript does not submit input button

Here's the problem: I have a simple form with three buttons and some hidden input fields. Depending on the button pressed (different name="" values), the action does something different.

I am now trying to add a confirmation dialog box to this form by doing this:

<form method="POST" action="/action" onsubmit="return confirmFormSubmit(this);">
    <input type="submit" name="one" value="This">
    <input type="submit" name="two" value="That">
    <input type="submit" name="three" value="Something else">
</form>

<script type="text/javascript">
function confirmFormSubmit(obj)
{
    window.event.preventDefault();
    jConfirm('Are you sure you want to do this?', 'Awaiting confirmation', function(r) {
        if (r == true) {
            obj.form.submit();
        } else {
            return false;
        }
    });
}
</script>

When I click OK, the action happens, but the input button is not submitted.

Doing 'document.location = obj.form.action;' is not an option because that will not submit the POST parameters.

How can I make the damn thing submit the input fields and no开发者_StackOverflow社区t just call the action?


I think that it is because the onsumit method overrides the action in your form declaration. I would actually change the button of the form and make it a button linked to a javascript method that performs required tests and submit values to the right action.


<form method="POST" action="/action">
    <a href="javascript: confirmFormSubmit(this)">
        <input type="button" name="three" value="Something else">
    </a>
</form>

something like this should be working

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜