I am trying to change t开发者_C百科he value of an input textbox before submitting a form using something like the following:
$('#form1').submit(function () {
$('#MyTextBox').val('test');
});
However, when debugging the btnSubmit_Click method on the server side, both Request.Form[MyTextBox.UniqueID] and MyTextBox.Text contain the "old" value of #MyTextBox. It appears that the form is being submitted before the javascript completes running. Any idea why this is happening? The javascript definitely runs because if I add an alert, it pops up. If instead of using the form submit function, I use the click button, it works and the new value gets posted to the server:
$('#btnSubmit').click(function () {
$('#MyTextBox').val('test');
});
The submit button is defined as:
<asp:Button ID="btnSubmit" runat="server" CausesValidation="True"
Text="Submit" OnClick="btnSubmit_Click" ValidationGroup="submitRequest" />
Also on a separate note, is it better practice to use Request.Form[MyTextBox.UniqueID] or MyTextBox.Text in the server side method or does it not matter?
I'm not sure what this has todo with asp.net, but this jquery works fine for me: http://jsfiddle.net/pTuL5/.
$('#MyForm').submit(function ()
{
$('#MyForm input[name="q"]').val('test');
$('#MyForm').submit();
return false;
});
Tell me how it goes
Simple solution, but dont set button type "submit".
function submitButton() {
$('#field').val('sdasdasd');
$('#form').submit();
return false;
}
And if using your way, but I dont think it will work.
$('#form1').submit(function () {
$('#MyTextBox').val('test');
$('#fomr1').submit();
return false;
}
You might have some javascript error on the page load. Make sure there are no js errors and below code in executed on page load.
$(function(){
$('#MyForm').submit(function ()
{
$(this).find('input[name="q"]').val('test');
return true;
});
});
This should do it:
$('#form1').one('submit', function(event)
{
event.preventDefault();
$('#MyTextBox').val('test');
$('#form1').submit();
});
let me know..
Make sure the element ( input ) that you want to change is not disabled, if it is disabled then the original value will be sent but if it is enabled the new value will be sent in the post.
You should not use submit() in the onSubmit() function handler. Just do what you want to do and "return true" will submit the form:
(On document ready)
$('#yourform').submit(function()
{
$("#yourInputYouWantTochange").prop('checked', true); //If radio or checkbox
$("#yourInputYouWantTochange").val('whatever'); //If something else
return true;
});
精彩评论