当我提交表单时,我希望另一个对象增加宽度并保持这种状态。这就是我所拥有的:
$("form#inputs").submit(function() {
$(".circles").css("width", "200px");
});
提交后,.circles
会增加宽度,但会在一瞬间快速恢复。我希望它们保持增加的宽度,我该怎么做?
答案 0 :(得分:4)
在表单提交后,您的网页似乎已重新加载。所以这样做:
$("form#inputs").submit(function (e) {
$(".circles").css("width", 200);
e.preventDefault();
});
答案 1 :(得分:0)
@Praveen Kumar是正确的 - 如果您想使用javascript编辑DOM中的元素,则需要使用AJAX
发布您的表单信息。
如果您不想使用AJAX
,则可以在处理表单后将变量传回页面,这会触发将类添加到.circles
元素中。< / p>
要通过AJAX
发送您的信息,您可以简单地执行以下操作
<html>
<head>
<script type="text/javascript" src="jQuery.min.js"></script>
<script type="text/javascript" src="myScript.js"></script>
</head>
<body>
<form id="myForm">
<label for="input1">
Input 1: <input type="text" name="input1" id="input1">
</label>
<label for="input2">
Input 2: <input type="text" name="input2" id="input2">
</label>
<input type="submit" value="Submit My Form">
</form>
<div class="circles">... Some stuff ...</div>
</body>
</html>
$( document ).ready( function() {
// Listen for our form submit
$( '#myForm' ).submit( function(e) {
e.preventDefault(); // Stop the form from submitting
var datastring = $( this ).serialize(); // Serialize our form
$.ajax({
url: 'handler.php',
type: 'POST',
data: datastring,
success: function() {
// do whatever i want if the form posts
$( ".circles" ).css( "width", "200px" );
},
error: function() {
// do whatever i want if there is an error
$( ".circles" ).css( "color", "red" );
}
}); // .ajax
}); // .submit
}); // document.ready
<?php
$input1 = $_POST['input1'];
$input2 = $_POST['input2'];
// do stuff
?>