Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Submit multiple forms with one submit button

I have the following code, basically it is performing two operations. First one being submitting my form data to the google spreadsheet and the other operation is submitting my second form textbox value data to another page textbox value. How to do this?

<script type="text/javascript">
    <!--
        function copy_data(val){
            var a = document.getElementById(val.id).value
            document.getElementById("copy_to").value=a
        }
    //-->
</SCRIPT>
<style type="text/css">
    <!-- -->
</style>
</head>
<body>
    <script type="text/javascript">var submitted=false;</script>

    <iframe name="response_iframe" id="hidden_iframe" style="display:none;" onload="if(submitted){window.location='Thanks.asp';}"/>
    
    <form action="https://docs.google.com/spreadsheet/formResponse?formkey=dGtzZnBaYTh4Q1JfanlOUVZhZkVVUVE6MQ&ifq" method="post" target="response_iframe" id="commentForm" onSubmit="submitted=true;">
        <!-- #include virtual="/sts/include/header.asp" -->
        <!-- ABove this Header   YJC -->
        <table style="background-color: #FFC ;" width="950" align="center" border="0" summary="VanaBhojnaluBooking_Table">
            <tr>
                <td colspan="7">
                    <p class="MsoNormal" align="center" style="text-align:center;">
                        <strong>
                            <span style="line-height:115%; font-family:'Arial Rounded MT Bold','sans-serif'; font-size:16.0pt; color:#76923C; ">Karthika Masa Vanabhojanalu &ndash; Participation Booking</span>
                        </strong>
                    </p>
                    <p class="MsoNormal" align="center" style="text-align:center;">
                        <strong>
                            <em>
                                <span style="line-height:115%; font-size:20.0pt; color:#7030A0; ">13<sup>th</sup> Nov  2011 - @ West Coast Park - Singapore</span>
                            </em>
                        </strong>
                    </p>
                    <p class="MsoNormal" align="center" style="text-align:center;">
                        <strong>
                            <span style="color:#7030A0; ">Reserve your participation and avail </span>
                            <span style="color:red; ">
                                <a target="_blank" href="/STS/programs/VB_2011_info.asp"> DISCOUNT </a>
                            </span>
                            <span style="color:#7030A0; "> on the ticket</span>
                        </strong>
                    </p>
                </td>
            </tr>
            <tr>
                <th width="37" scope="col">&nbsp;</th>
                <th width="109" rowspan="5" valign="top" class="YJCRED" scope="col">
                    <div align="left">
                        <font size="2"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;* Required</font>
                    </div>
                </th>
                <td width="68" scope="col">
                    <div align="right">
                        <font size="2.5px">Name</font>
                        <span class="yj">
                            <span class="yjcred">*</span>
                        </span>
                    </div>
                </td>
                <th colspan="3" scope="col">
                    <label for="Name"/>
                    <div align="left">
                        <input name="entry.0.single" class="required" style="width:487px; height:25px; vertical-align:middle;" type="text" id="entry_0" title="Enter your name">
                    </div>
                </th>
                <th width="223" scope="col">&nbsp;</th>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td>
                    <div align="right">
                        <font size="2.5px">Phone</font>
                        <span class="yj">
                            <span class="yjcred">*</span>
                        </span>
                    </div>
                </td>
                <td width="107">
                    <input name="entry.1.single" class="required" title="Handphone Number with out +65" maxlength="8" style="width:100px;height:25px;" type="text" onkeyup="copy_data(this)" onKeyPress="return numbersonly(this, event)" id="entry_1"/>
                    
                <td width="170">
                    <div align="right">
                        <font size="2.5px">Email</font>
                        <span class="yj">
                            <span class="yjcred1">*</span>
                        </span>
                    </div>
                </td>
                <td width="206">
                    <input name="entry.2.single" type="text" style="width:190px;height:25px;" id="required" title="Enter your email address" class="required email"/>
                    
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td>
                    <div align="right">
                        <font size="2.5px">Home Phone</font>
                    </div>
                </td>
                <td width="107">
                    <input name="entry.1.single" title="Handphone Number with out +65" maxlength="8" style="width:100px;height:25px;" type="text" onKeyPress="return numbersonly(this, event)" id="entry_100"/>
                    
            </tr>
            <tr>
                <td align="center" colspan="7">
                    <p>&nbsp;</p>
                    <p>
                        <input type="submit" name="submit" onMouseOver="Window.status='You can not see anything';return true" onMouseOut="window.status='Press SUBMIT only after proper inforatmion entering then you are Done'" onClick="jQuery.Watermark.HideAll();" value="Submit">
                    </p>
                    <p>&nbsp;</p>
                </td>
            </tr>
            <p>&nbsp;</p>
            <tr>
                <td colspan="25"/>
            </tr>
        </table>
    </form>
    
    <form method="Link" Action="Sankranthi_Reserv2.asp">
        <input disabled name="copy of hp" maxlength="8" style="width:100px;height:25px;" type="text" id="copy_to">
    </form>
    
    <p>
        <!-- #include virtual="/sts/include/footer.asp" -->
        <input type="hidden" name="pageNumber" value="0">
        <input type="hidden" name="backupCache" value="">
        <script type="text/javascript">
            (function() {
                var divs = document.getElementById('ss-form').getElementsByTagName('div');
                var numDivs = divs.length;
                for (var j = 0; j < numDivs; j++) { 
                    if (divs[j].className=='errorbox-bad') { 
                        divs[j].lastChild.firstChild.lastChild.focus(); 
                        return; 
                    } 
                } 
                for (var i=0; i < numDivs; i++) { 
                    var div = divs[i]; 
                    if (div.className=='ss-form-entry' && div.firstChild && div.firstChild.className=='ss-q-title') { 
                        div.lastChild.focus(); 
                        return; 
                    } 
                }

As you can see from above, this is the first page and in the second page where I was referring to Sankranthi_Reserv2.asp in the second form. I want to pass the textbox value over there, so the problem is the first form is submitting to the google docs and storing the data, but the second form need to pass the handphone number textbox value to the nextpage textbox value, but there is only one SUBMIT button.

like image 244
JackyBoi Avatar asked Dec 19 '11 15:12

JackyBoi


People also ask

Can an HTML form have more than one submit button?

Complete HTML/CSS Course 2022yes, multiple submit buttons can include in the html form. One simple example is given below.

How do you handle multiple submit buttons in the same form?

Create another button with type submit. Also add a 'formaction' attribute to this button and give it the value of the secondary URL where you want to send the form-data when this button is clicked. The formaction attribute will override the action attribute of the form and send the data to your desired location.

Can you use a button to submit a form?

Using submit buttons<input type="submit"> buttons are used to submit forms. If you want to create a custom button and then customize the behavior using JavaScript, you need to use <input type="button"> , or better still, a <button> element.


2 Answers

Something like this would work:

$('#form1_submit_button').click(function(){
    $('form').each(function(){
        $(this).submit();
    });
});

Alternative:

$('#form1_submit_button').click(function(){
    $('#form1 #form2 #form3').submit();
});
like image 188
Gustav Avatar answered Oct 18 '22 10:10

Gustav


For submitting two forms you will have to use Ajax. As after using form.submit() page will load action URL for that form. so you will have to do that asynchronously.

So you can send both request asynchronously or send one request asynchronously and after its success submit second form.

function submitTwoForms() {
var dataObject = {"form1 Data with name as key and value "};
    $.ajax({
      url: "test.html",
      data : dataObject,
      type : "GET",
      success: function(){
        $("#form2").submit();   //assuming id of second form  is form2
      }
    });
    return false;   //to prevent submit
}

You can bind this submitTwoForms() function on your that one submit button. Using

$('#form1').submit(function() {
    submitTwoForms();
    return false;
});

But, if you do not want to do all this, you can use Jquery form plugin to submit form using Ajax.

like image 25
Pradeep Avatar answered Oct 18 '22 09:10

Pradeep