请注意,这个问题不重复,我搜索了现有的相关问题。 嗨,我有一个REST API,我将用它来发布我的表单中的数据。我不想刷新页面(我已经看到了答案)。 我的表格是:
<form class="t1-form tweet-form
condensed
is-autogrow
"
method="post"
data-condensed-text="Compose new Tweet...lll"
action="/finals/post.php"
enctype="multipart/form-data">
<span class="inline-reply-caret">
<span class="caret-inner"></span>
</span>
<div class="tweet-content">
<div aria-labelledby="tweet-box-mini-home-profile-label"id="tweet-box-mini-home-profile" class="tweet-box rich-editor " contenteditable="true" spellcheck="true" role="textbox"
aria-multiline="true">
</div>
<input type="submit" value=" Add Another Note " style="float: right;background-color:White;">
<div class="rich-normalizer"></div>
</div>
</form>
我知道我可以在这里使用文本框,但是当前的div与一些第三方css很好地配合,所以我不想改变任何布局。 将要发布的内容写入的部门:
<div aria-labelledby="tweet-box-mini-home-profile-label"id="tweet-box-mini-home-profile" class="tweet-box rich-editor " contenteditable="true" spellcheck="true" role="textbox"
aria-multiline="true">
但这没有我可以通过PHP中的$ _POST [“name”]访问的任何名称?
如何获取这个div中写的内容?然后调用像post.php这样的php脚本而不刷新页面,在post.php被调用之后,div内容应该被重置。
非常感谢你的帮助。
相同问题的更简单版本:http://jsfiddle.net/davidThomas/682pG/我想使用div(只有div)来获取用户的输入并使用该输入用于PHP的发布请求。
答案 0 :(得分:1)
重要的是要注意,当您点击类型为&#34;提交&#34;的按钮时,它将始终触发回发..
如果您想在不刷新页面的情况下执行此操作。你需要使用ajax并阻止按钮的默认行为
<input type="submit" id='btnSubmit' value="Add Another Note" style="float: right;background-color:White;">
脚本
$( "#btnSubmit" ).click(function( event ) {
event.preventDefault();
var valueOfDiv = $("#divThatYouCanWriteStuffIn").text();
$.ajax({
url : 'yourphp.php',
type: 'post',
data: {content: valueOfDiv},
success: function(data){
// do something on the response
}
});
});
PHP代码
$content = $_POST['content'];
// process it
// echo your response
答案 1 :(得分:0)
未经测试,但逻辑可能有效:
1)使用以下方法之一获取div的内容,html或文本:
$("#divThatYouCanWriteStuffIn").html();
或
$("#divThatYouCanWriteStuffIn").text();
2)单击提交按钮后,将其作为表单中的隐藏参数注入,或使用ajax发送带有从上述方法检索的值的请求。类似的东西:
$.post( "your-rest-uri.php", {'yourdivcontent': $("#divThatYouCanWriteStuffIn").html()} );
3)然后,您可以使用以下方法在PHP中访问它:
$_POST["yourdivcontent"]