Solved

Submit my form

Posted on 2014-03-14
10
638 Views
Last Modified: 2014-03-14
Hi,

for some reason my form is not getting submitted.  

I can't get it to submit my form.

I have an image that calls Jquery and submit the form.

This is my code:

function SubmitFormSearch()
{
	$("#Submitted").val(1);
	$( ".ShowHideAdd" ).show();
	$("#SearchForm").attr("action","index.cfm");
	$('form#SearchForm').submit();
}

<cfif IsDefined('FORM.SearchForm')>
<cfdump var="#FORM.Status#">
<cfabort>
</cfif>


<FORM id="SearchForm" METHOD="POST" name="SearchForm" ACTION="<cfoutput>#ActionURL#</cfoutput>"> 

 <SELECT name="selectStatus" id="selectStatus">
           <cfoutput query="QStatus">
			<cfif (isdefined('FORM.Submitted') and (#FORM.selectStatus# eq #QStatus.StatusID#))>
			<option value="#QStatus.StatusID#" selected="selected">#QStatus.Status#</option>
			<cfelse>
			<option value="#QStatus.StatusID#">#QStatus.Status#</option>
             </cfif>
			 </cfoutput>
            </SELECT>


    <img src="images/SearchtextBoxbtn.png" onClick="SubmitFormSearch()" style="margin-bottom:35px;cursor: pointer;"/>

</FORM>

Open in new window

0
Comment
Question by:lulu50
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
10 Comments
 
LVL 33

Expert Comment

by:Big Monty
ID: 39929307
getting any errors in your console?
0
 

Author Comment

by:lulu50
ID: 39929312
no no errors but it's not executing this code

<cfif IsDefined('FORM.SearchForm')>
<cfdump var="#FORM.Status#">
<cfabort>
</cfif>

Open in new window

0
 

Author Comment

by:lulu50
ID: 39929483
if I do isdefined form.selectStatus it works fine
it gives me the value of the selectStatus


<cfif IsDefined('FORM.selectStatus')>
sdddddddd
<cfdump var="#form.selectStatus#">
</cfif>

Open in new window


but if I do isdefined form.searchform it doesn't work.
so, I am thinking why isn't recognizing my form name


<cfif IsDefined('FORM.SearchForm')>
<cfdump var="#FORM.selectStatus#">
<cfabort>
</cfif> 

Open in new window

0
Secure Your WordPress Site: 5 Essential Approaches

WordPress is the web's most popular CMS, but its dominance also makes it a target for attackers. Our eBook will show you how to:

Prevent costly exploits of core and plugin vulnerabilities
Repel automated attacks
Lock down your dashboard, secure your code, and protect your users

 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 39929552
It stands to reason that if:

FORM.selectStatus

is looking for an element called selectStatus inside of the Form

then this;

FORM.SearchForm

Is looking for an element called SearchForm inside the form

You see the problem here?
0
 

Author Comment

by:lulu50
ID: 39929571
Chris,

I know the difference.

Here is my question:

why I can't get the value of the FORM.selectStatus  if I say

<cfif StructKeyExists(Form,'SearchForm')>
or
<cfif isdefined("form.SearchForm")>

but when I say (this it takes me straight to my field value without validate the form submission)
<cfif isdefined("form.selectStatus ")>
it works fine and display my value

so, if I have a value in the form.selectstatus that means the form has been submitted and
if the form has been submitted why my Isdefined("form.SearchForm") will not work.
0
 
LVL 39

Accepted Solution

by:
gdemaria earned 500 total points
ID: 39929601
When you submit a form, a structure key will be created for each input/select/checkbox, etc inside of that form.     "SearchForm" is not the name of one of the input tags within that form.    SearchForm is the name of the form, I do not believe that submitting a form creates a form key for the name of the form, what value would it have?

You can test this by putting this at the top of your page and submitting..

<cfdump var="#FORM#">

This will show you all the input values created on your form submit, I don't think you will see the name of the form among the values.

I think it would be perfectly Ok to test for the select tag name (the thing that works for you).

What I usually do is to test for the button or submit input tag...

<input type="Submit" name="doSave" value="SAve It " >

In this case, I would test for IsDefined("Form.DoSAVe")

Since you are doing an image, you can use type="button" and test for  Form.doSave.x  

Again, you can using <cfdump var="#form#"> to see what values are created when you submit
0
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 39929629
Hey lulu,

I don't know ColdFusion specifically so I'm working off of common sense here, and the way that HTML works in general. The reason this works:

form.selectStatus

is because you have an element named selectStatus  within the form

The reason this doesn't work:

form.SearchForm

is because there is no element named SearchForm within the form - it is the form's ID, so never gets passed back to the server - ever!!

In your jQuery, you seem to be setting the value of #Submitted to 1, but there is no element with that ID in your form. You need to create it, and also give it a name. Then you check that to see if you form has been submitted:

<input type="hidden" id="Submitted" name="Submitted">

Open in new window

0
 

Author Comment

by:lulu50
ID: 39929661
Chris - I do have an element called Submitted in my form but I did not included in my code above because that wasn't my issue.


gdemaria - your explanation tells my why I can't do it.
0
 

Author Closing Comment

by:lulu50
ID: 39929663
Thank you
0
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 39929695
I already explained that SearchForm didn't exist in the form to which you replied:

I know the difference.

Clearly you didn't
0

Featured Post

Why Off-Site Backups Are The Only Way To Go

You are probably backing up your data—but how and where? Ransomware is on the rise and there are variants that specifically target backups. Read on to discover why off-site is the way to go.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article you'll learn how to use Ajax calls within your CodeIgniter application. To explain this, I'll illustrate how to implement a simple contact form to allow visitors to send you an email through your web site.
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question