• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 861
  • Last Modified:

change form target with jquery

Hello I have an html form with an onsubmit to validate the fields. If the form validates I have the form opening in a popup window.

function checkform()
{
 some validation

$('#form1').submit(function() {
        window.open('', 'formpopup', '');
        this.target = 'formpopup';
    });
}

function confirmPrint(theID)
{
 var sURL = "checkifprintedModal.cfm?myID="+theID;
showPopWin(sURL,600,375,null);
}
function loaddata()
{
 ajax to load table 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)
			{
                             document.getElementById("mydata").innerHTML=xmlhttp.responseText;
                        }
                }
                xmlhttp.open("GET","getmystuff.cfm?accountID="+encodeURIComponent(accountID),true);
		xmlhttp.send();

}
<body onload="loaddata();">
 <form id="form1" target="_blank" onsubmit="return checkform()">
 <div id="mydata">
   <table>
     <!--- ajax data goes here --->
  <tr>
     <td> <input type="submit" value="Submit">
 </tr>
</table>
</div>  
<table>

</form>
</body>

Open in new window


So what I am doing to when the user clicks submit it does the check form. If that comes back with no validation issues the form opens a popup window that does some printing. On the popup page I have onload function that the confirmPrint function on the parent page to open up a modal window to ask if the pages printed properly. When the modal window closes I am calling the loaddata function to reload the page data. If the user does some other things on the main page the click submit and if the validation fails a blank tab opens. This is happening because I changed the form target to the formpopup. Is there a way I can change the form target back to what it was before.

I tried

 $('#form1').submit(function() {
      	$('#this').target="new";
    });

Open in new window

and
   var targetvalue = "new";
	   $('#form1').prop("target", targetvalue);

Open in new window


and
   $('#form1').submit(function() {
      	$('#form1.target')="new";
    });

Open in new window

with this I am getting js error saying "Uncaught ReferenceError: Invalid left-hand side in assignment"
 and quite a few more things in the loaddata and the checkform function and I can't get anything to work properly.
0
spectrumcare
Asked:
spectrumcare
1 Solution
 
leakim971PluritechnicianCommented:
Should work :
$('#form1').submit(function() {
      $(this).attr("target", "new");
});

Open in new window

0
 
Naitik GamitSoftware DeveloperCommented:
<script type="text/javascript">
// Popup window code
function newPopup(url) {
      popupWindow = window.open(
            url,'popUpWindow','height=700,width=800,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
}
</script>
<a href="JavaScript:newPopup('http://www.quackit.com/html/html_help.cfm');">Open a popup window</a>
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now