Javascript上的提交按钮

Javascript on submit button

本文关键字:按钮 提交 Javascript      更新时间:2023-09-26

我有一些问题。我有一个隐藏输入元素的html表单。javascript代码中有一个数组。我想抓住按下提交按钮事件(通过使用jquery),并在隐藏的输入中推送数组数据。

问题是-首先发生什么:表单日期将流向。php脚本或javascript的数组将被推入隐藏输入和后记。php脚本将被调用?为什么会这样呢?

TIA !

upd(代码示例):

...
// process $_POST['domains']
...
<form action="registration?id=reg" method="post" enctype="multipart/form-data" id="reg_form">
    ...
    <input type="hidden" id="domains" name="domains[]" value=""/>
    ...
    <input type="submit" name="go" value="Register"/>
</form>
<script type="text/javascript">
    var domainlist = [];
    Array.prototype.indexOf = function (name) {
        var ind = -1;
        for (var i = 0; i < this.length; i++) {
            if (this[i].name == name) {
                ind = i;
                break;
            }
        }
        return ind;
    }
    $(document).ready(function() {
        ...
    });
    function checkDomain() {
        ...
            req = $.ajax({
                type:           'post',
                cache:          false,
                url:            'ajax.php',
                data:           ...,
                success: function(data) {
                    $('#domain_list_wrap').delegate('input:checkbox', 'click', function () {
                        var dmnName = $(this).attr('name');
                        domainlist.push({name: dmnName, cost: domainsArr[dmnName.split('.')[1]]});
                        ...
                    });
                    $('#domain_cart').delegate('input:checkbox', 'click', function () {
                        domainlist.splice(domainlist.indexOf($(this).attr('name')), 1);
                        ...
                    });
                }
            });
        ...
    }
</script>

在提交表单时触发JavaScript submit事件,但在向服务器发出请求之前(因为JavaScript在客户端运行,这非常有意义)。因此,您想象的工作方式应该是好的,您可以使用jQuery绑定到表单提交事件,如下所示:

$("#yourForm").submit(function() {
    //Submit event handler will run on form submit
});

submit事件处理程序还可以通过返回false来取消表单提交(例如,如果某些验证失败)。如果数据先发送到服务器,它将无法真正工作!

把这个放到你的正文中

<form id="frm" method="post" action="/">
    <input type="hidden" id="txtHidden" />
    <input type="submit" id="btnSubmit" value="submit" />
</form>

在你的脑海里:

<script type="text/javascript">
    var arr = [ "hello", "there", "world" ];
    $(document).ready( function() {
        $("#btnSubmit").click( function(event) {
                   var str = arr.join(",");
                   $("#txtHidden").val(str);
                   // make sure the value is in the field
                   alert($("#txtHidden").val());
            });
    });
</script>

当您点击btnSubmit时,数组将与逗号连接,您将看到警告,然后表单将被提交