簡體   English   中英

使用Javascript提交表單時發送Javascript數組

[英]Send Javascript array when submitting form with Javascript

因此,我想使用Javascript提交表單,並希望通過表單也發送一個Javascript數組。 到目前為止,我無法使用它(我沒有得到修改的URL,而是得到了表單的action屬性中指定的URL):

<script>
    function submit_form() {
        var unique_id_to_delete = [];

        if (confirm('Remove records ID: ' + unique_id_to_delete.toString() + '?')) {

            document.getElementById("submit_form").submit(function(event) {
                event.preventDefault();
                var url = 'submit.php?id_delete='+unique_id_to_delete.toString();
                window.location.href = url;
            });

        } else {
            alert('Ok, next time!');
        }
    }
</script>

形成:

<form id="submit_form" method="post" action="submit.php" enctype="multipart/form-data">

<input type="button" onclick="submit_form();" value="Submit"/>
</form>

使用JavaScript提交表單

        function submit_form()
        {

            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
            }
            else
            {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange=function()
            {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                  //response after success
                  //xmlhttp.responseText
                }
            }
            xmlhttp.open("GET","YOUR URL WITH PARAMS",true);
            xmlhttp.send();


        }

呵呵..好的,我嘗試了這個,我認為不是你想的..

<script>
    function submit_form() {
        var unique_id_to_delete = [];

        if (confirm('Remove records ID: ' + unique_id_to_delete.toString() + '?')) {

            var data1 = JSON.stringify(unique_id_to_delete);
            $.ajax({ type: "POST", data: {value1:data1}, url: "submit.php", success: function() {  
                 } });

        } else {
            alert('Ok, next time!');
        }
    }
</script>

腳本:

function submit_form() {
var unique_id_to_delete = [];
    if (confirm('Remove records ID: ' + unique_id_to_delete.toString() + '?')) {    
            var url = 'submit.php?id_delete='+unique_id_to_delete.toString();
            alert(url);
            window.location.href = url;            
    } else {
        alert('Ok, next time!');
    }
}

形成:

<form id="submit_form" method="post" enctype="multipart/form-data">
<input type="button" onclick="submit_form();" value="Submit"/> 
</form>

您的表單永遠不會提交,因為您只是在重定向窗口位置,從而按預期方式創建GET而不是POST。 您可以這樣做:

function submit_form() {
  var unique_id_to_delete = [1,2,3,4,5,6];

  if (confirm('Remove records ID: ' + unique_id_to_delete.toString() + '?')) {

      $.ajax({
          url: "submit.php",
          type: "POST",
          data: unique_id_to_delete,
      });

  } else {
    alert('Ok, next time!');
  }
}

不需要表格:

<input type="button" onclick="submit_form();" value="Submit"/>

我已經有一段時間沒有使用PHP了,但另一方面,您需要使用json_decode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM