Welcome to WebmasterWorld Guest from 23.22.250.113

Forum Moderators: open

Message Too Old, No Replies

Jquery Form plugin : dynamic target/multiple forms

     

enotalone

11:41 pm on Sep 29, 2013 (gmt 0)

10+ Year Member



Hello, I am using the form plugin from [malsup.com...]

I am trying to set the target div to be updated dynamically. At the moment this is what the code looks like but instead I want to pas a different value for target through a hidden form field, so the #target2 can be dynamically changed to #target20, #target40 etc. Thanks.


<script type="text/javascript">
$(document).ready(function() {

$('.htmlForm').ajaxForm({
target: '#target2',

success: function() {
$('#target2').fadeIn('slow');
}
});
});
</script>


Thank you.

Fotiman

12:26 am on Sep 30, 2013 (gmt 0)

WebmasterWorld Senior Member fotiman is a WebmasterWorld Top Contributor of All Time 5+ Year Member Top Contributors Of The Month




$(document).ready(function() {
var target = $('#target').val();

$('.htmlForm').ajaxForm({
target: target,

success: function() {
$(target).fadeIn('slow');
}
});
});

Then in your html, just give your hidden input the id specified in the code above:

<input id="target" value="target2">

enotalone

12:37 am on Sep 30, 2013 (gmt 0)

10+ Year Member



Thank you Fotiman, I updated the code to


<script type="text/javascript">
$(document).ready(function() {
var target = $('#target').val();

$('.htmlForm').ajaxForm({
target: target,

success: function() {
$(target).fadeIn('slow');
}
});
});
</script>


<form class="htmlForm" action="ajax-data.php" method="post">
<input type="hidden" id="target" value="target2">
Message: <input type="text" name="message" value="Hello HTML" />
<input type="submit" value="Echo as HTML" />
</form>


<div id="target2">div id=target2</div>



But when the form is submitted the div with target2 id does not update. What did I do wrong? thanks.

enotalone

9:31 pm on Oct 1, 2013 (gmt 0)

10+ Year Member



Could anyone take a look into this please?

Fotiman

1:53 pm on Oct 2, 2013 (gmt 0)

WebmasterWorld Senior Member fotiman is a WebmasterWorld Top Contributor of All Time 5+ Year Member Top Contributors Of The Month




But when the form is submitted the div with target2 id does not update.

Do you see the target div fade in when you submit the form? Because that's all it looks like you're attempting to do.

enotalone

9:51 pm on Oct 2, 2013 (gmt 0)

10+ Year Member



Thanks, not trying to just to fade out/in a div. I am trying to load the html ajax-data.php echos. With the code above nothing happens at all when the forms gets submitted.

enotalone

9:57 pm on Oct 2, 2013 (gmt 0)

10+ Year Member



This code will do submit the form and refresh the div with the html from ajax-data.php into div with id=target. however I want to load the data into a div id that is indicated into thte form's hidden field (target) which in the code bellow is set to z22.


<script type="text/javascript">
$(document).ready(function() {

$('.htmlForm').ajaxForm({
target: target,
delegation: true,

success: function() {
$(target).fadeIn('slow');
}

});
});
</script>


</head><body>

<form class="htmlForm" action="ajax-data.php" method="post">
<input type="hidden" name="target" value="z22" />
Message: <input type="text" name="message" value="Hello HTML" />
<input type="submit" value="Echo as HTML" />
</form>

<div id="target">div id=target</div>

<div id="z22">div id=z22</div>

Fotiman

5:12 pm on Oct 3, 2013 (gmt 0)

WebmasterWorld Senior Member fotiman is a WebmasterWorld Top Contributor of All Time 5+ Year Member Top Contributors Of The Month



The problem was that the value of your target element did not start with '#', so the code just needs a slight modification to make sure it's a valid id selector. Here's a working example:


$(document).ready(function() {
var target = $('#target').val();
// Make sure target is a valid id selector (starts with #)
target = (target.indexOf('#') === 0? target : '#' + target);

$('.htmlForm').ajaxForm({
target: target,

success: function() {
$(target).fadeIn('slow');
}
});
});

enotalone

5:27 pm on Oct 3, 2013 (gmt 0)

10+ Year Member



Perfect! works great, many thanks Fotiman. I appreciate your help.
 

Featured Threads

Hot Threads This Week

Hot Threads This Month