You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Dustin Woods <du...@gmail.com> on 2010/04/29 19:32:39 UTC

Possible bug in 5..2.0-SNAPSHOT - tapestry.js

Hi all,

I was noticing on some pages that an empty text field was being shown after
submitting forms and narrowed it down to the tapestry.js code for the
Tapestry.FormEventManager class.

setSubmittingElement : function(element) {

if (!this.submitHidden) {
var hiddens = this.form.getInputs("hidden", "t:submit");

if (hiddens.size() == 0) {

/**
 * Create a new hidden field directly after the first hidden
 * field in the form.
 */
var firstHidden = this.form.getInputs("hidden").first();

this.submitHidden = new Element("input", {
//type : "input",
type: "hidden",
name : "t:submit"
});

firstHidden.insert( {
after : this.submitHidden
});
} else
this.submitHidden = hiddens.first();
}

this.submitHidden.value = element == null ? null : $(element).id;
},

Shouldn't the type of the new element be "hidden" and not "input"?

Thanks,
Dustin

Re: Possible bug in 5..2.0-SNAPSHOT - tapestry.js

Posted by Dustin Woods <du...@gmail.com>.
Issue created.
https://issues.apache.org/jira/browse/TAP5-1124

<https://issues.apache.org/jira/browse/TAP5-1124>Thanks

On Thu, Apr 29, 2010 at 4:28 PM, Howard Lewis Ship <hl...@gmail.com> wrote:

> I think you are correct. This has probably been working because the
> new field gets added as a text field (since it has an unknown value
> for its type attribute). Because of the logic you've seen, the text
> field is placed inside the invisible <div> the Form component renders,
> thus it is not visible to the user and acts just like a hidden field.
>
> Good catch, please add an issue to JIRA.
>
> On Thu, Apr 29, 2010 at 10:32 AM, Dustin Woods <du...@gmail.com>
> wrote:
> > Hi all,
> >
> > I was noticing on some pages that an empty text field was being shown
> after
> > submitting forms and narrowed it down to the tapestry.js code for the
> > Tapestry.FormEventManager class.
> >
> > setSubmittingElement : function(element) {
> >
> > if (!this.submitHidden) {
> > var hiddens = this.form.getInputs("hidden", "t:submit");
> >
> > if (hiddens.size() == 0) {
> >
> > /**
> >  * Create a new hidden field directly after the first hidden
> >  * field in the form.
> >  */
> > var firstHidden = this.form.getInputs("hidden").first();
> >
> > this.submitHidden = new Element("input", {
> > //type : "input",
> > type: "hidden",
> > name : "t:submit"
> > });
> >
> > firstHidden.insert( {
> > after : this.submitHidden
> > });
> > } else
> > this.submitHidden = hiddens.first();
> > }
> >
> > this.submitHidden.value = element == null ? null : $(element).id;
> > },
> >
> > Shouldn't the type of the new element be "hidden" and not "input"?
> >
> > Thanks,
> > Dustin
> >
>
>
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

Re: Possible bug in 5..2.0-SNAPSHOT - tapestry.js

Posted by Howard Lewis Ship <hl...@gmail.com>.
I think you are correct. This has probably been working because the
new field gets added as a text field (since it has an unknown value
for its type attribute). Because of the logic you've seen, the text
field is placed inside the invisible <div> the Form component renders,
thus it is not visible to the user and acts just like a hidden field.

Good catch, please add an issue to JIRA.

On Thu, Apr 29, 2010 at 10:32 AM, Dustin Woods <du...@gmail.com> wrote:
> Hi all,
>
> I was noticing on some pages that an empty text field was being shown after
> submitting forms and narrowed it down to the tapestry.js code for the
> Tapestry.FormEventManager class.
>
> setSubmittingElement : function(element) {
>
> if (!this.submitHidden) {
> var hiddens = this.form.getInputs("hidden", "t:submit");
>
> if (hiddens.size() == 0) {
>
> /**
>  * Create a new hidden field directly after the first hidden
>  * field in the form.
>  */
> var firstHidden = this.form.getInputs("hidden").first();
>
> this.submitHidden = new Element("input", {
> //type : "input",
> type: "hidden",
> name : "t:submit"
> });
>
> firstHidden.insert( {
> after : this.submitHidden
> });
> } else
> this.submitHidden = hiddens.first();
> }
>
> this.submitHidden.value = element == null ? null : $(element).id;
> },
>
> Shouldn't the type of the new element be "hidden" and not "input"?
>
> Thanks,
> Dustin
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org