更新:哇这是有史以来最快的回复,并且在几分钟之内就有很多答案。惊人。好的,这就是我想要做的。 http://edvizenor.com/invoice33/
我想动态编辑这张发票,但当我点击顶部的蓝色框时,我想预览或在下一页上看到这个内容包含php var echo out。
这个蓝色框稍后将更改为底部的按钮,但是我正在使用它进行测试。
正如你所看到它调用ajax脚本但我需要将div的已编辑内容发送到php var,我可以在预览页面上回显它。如果我可以把它放在php var中,我会在下一页上用它来做它。那有意义吗?谢谢大家的快速回复。
是否可以使用jQuery获取div
的内容,然后将它们放在PHP var中以通过GET或POST发送?
我可以使用jQuery获取div
的内容:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function()
{
$("#MyButton").click(function()
{
var htmlStr = $("#MyDiv").html();
});
});
</script>
但是如何将jQuery var放在php var中。我也需要通过BUTTON印刷机来做到这一点。这不包含在上面的代码中。我需要因为div
文件是可更改的,当我点击UPDATE并通过PHP发送时,它需要有最新的内容。
答案 0 :(得分:5)
根据你的情况, 您正在尝试将JavaScript变量发送到PHP。 唯一常见的方法是以JSON格式进行交换,
例如,假设我们有基本的文本编辑器Jquery的:
$($document).ready(function(){
$("#submit-button").click(function(){
$.post('yourphpscript.php', {
//this will be PHP var: //this is JavaScript variable:
'text' : $("#some_text_area").text()
}, function(response){
//To avoid JS Fatal Error:
try {
var result = JSON.parse(response);
//get back from PHP
if ( result.success){ alert('successfully changed') }
} catch(e){
//response isn't JSON
}
});
});
});
PHP代码
<?php
/**
*
* So we are processing that variable from JavaScript
*/
if ( isset($_POST['text']) ){
//do smth, like save to database
}
/**
* Well if you want to show "Success message"
* that div or textarea successfully changed
* you can send the result BACK to JavaScript via JSON
*/
$some_array = array();
$some_aray['success'] = true;
die( json_encode($some_array) );
答案 1 :(得分:4)
您需要使用ajax将值发送到您的服务器。
var html = $('#myDiv').html();
$.ajax({
type: 'POST',
url: '/SomeUrl/MyResource.php',
data: JSON.stringify({ text: html }),
success: function(response)
{
alert('Ajax call successful!');
}
});
答案 2 :(得分:4)
您可以使用hidden form fields并使用jQuery将隐藏字段的值设置为该值,因此当单击按钮并提交表单时,您的PHP可以将其拾取,就好像它是任何其他表单元素一样(使用$_POST
)。或者,您可以使用AJAX向PHP页面发出异步请求。这可能更简单。这是一个例子:
$("#myButton").click(function() {
var htmlStr = $('#myDiv').html();
$.post("mypage.php", { inputHTML : htmlStr },
function(data) {
alert("Data returned from mypage.php: " + data);
});
}
答案 3 :(得分:4)
你需要的是AJAX(见http://en.wikipedia.org/wiki/Ajax_(programming))
基本思想是通过例如javascript发送http请求。调用php脚本并等待响应。
使用普通的Javascript AJAX请求有点不方便,但由于您已经在使用jQuery,因此您可以使用此库。有关完整概述,请参阅http://api.jquery.com/jQuery.ajax/。
客户端的代码是这样的:
$.ajax({
url:'http://example.com/script.php',
data:'var=' + $('#myDiv').html(),
type:'GET'
success:function(response) {
console.log(response) // Your response
},
error:function(error) {
console.log(error) // No successful request
}
});
在你的script.php
中你可以这样做:
$var = $_GET['var'];
// Do some processing...
echo 'response';
并在您的javascript控制台中会出现字符串response
。
在现代基于ajax的应用程序中,发送和接收数据的最佳实践方式是JSON。
因此,要在请求和响应中处理更大的数据集,您可以执行以下操作:
$.ajax({
url:'http://example.com/script.php',
data:{
var:$('#myDiv').html()
},
type:'GET'
success:function(response) {
console.log(response) // Your response
},
error:function(error) {
console.log(error) // No successful request
}
});
在您的PHP代码中,您可以使用$someArray = json_decode($_GET['var'])
来解码PHP的JSON(它将返回一个关联数组)和$jsonString = json_encode($someArray)
来将数组编码为JSON字符串,您可以返回并处理它作为javascript中的常规JSON。
我希望能帮到你。
答案 4 :(得分:2)
是的,可能
<script type="text/javascript">
$(document).ready(function(){
$('#MyButton').click(function(){
$.post('sendinfo.php',
{
data: $('#data').html()
},
function(response){
alert('Successfully');
});
});
});
</script>
<div id="data">Here is some data</div>
答案 5 :(得分:1)
使用ajax将值发送到php(服务器)..这是ajax的一个很好的教程,使用jquery http://www.w3schools.com/jquery/jquery_ajax.asp
答案 6 :(得分:1)
您应该使用Ajax发送变量。
$.ajax({
url:'whateverUrl.php',
type:'GET',
data:{
html : htmlStr
}
});
答案 7 :(得分:1)
使用AJAX:
$("#MyButton").click(function() {
var htmlStr = $("#MyDiv").html();
$.ajax({
url: "script.php",
type: "POST",
data: {htmlStr : htmlStr},
success: function(returnedData) {
//do something
}
});
});
答案 8 :(得分:1)
下面的内容应该有效。
了解详情:http://api.jquery.com/jQuery.post/
$("#YourButton").click(function(e){
e.preventDefault();
var htmlStr = $("#YourDiv").html();
$.post(
url: 'YourPHP.php',
data: '{"htmlStr" : "'+htmlStr+'"}',
success: function(){
alert("Success!");
}
);
});
答案 9 :(得分:0)
通过POST或GET将数据通过XmlHttpRequest(“ajax”)发送到您的php页面。