小编bo_*_*ows的帖子

没有表单元素的jQuery AJAX POST?

我没有很多关于AJAX调用的经验,但我的例子似乎很简单(除了我没有使用元素)并且它让我想知道我是否正在进行错误的调用,或者如果你不能在没有表单的情况下进行AJAX POST.

我正在使用的按钮的HTML是这样的:

<button class="btn btn-primary btn-small" id='saveAsNewName' onclick=saveAsNewName()>Save As</button>
Run Code Online (Sandbox Code Playgroud)

我的JS:

function saveAsNewName(str, id) {
var values = {
        'str'       : str,
        'id'        : id,
};
$.ajax({
    url: "saveAsNewName.php",
    type: "POST",
    data: values,
    dataType: 'JSON',
    success: function(data){
        alert("success" + data);
    }
})
.done(function(data) {
    alert("success" + data);
})
.fail(function(data) {
    alert("failure" + data);
});
}
Run Code Online (Sandbox Code Playgroud)

而且,就目前而言,我的php只是用于测试是否有效:

echo json_encode($_POST['id']));
Run Code Online (Sandbox Code Playgroud)

每次点击我的按钮,我都会收到失败通知.是否有一个特定的解决方法,我不需要使用表单,或者我是否弄乱了基本的.ajax示例?

编辑,要明确:我正在使用另一组jQuery来不断更新saveAsNewName()的参数.结果如下:

onclick="saveAsNewName("wheyjuice 555", "33541")"
Run Code Online (Sandbox Code Playgroud)

作为这个jQuery代码的结果:

$(document).on('keyup',"[class*=editSimNameField]", function() { 
    var newText = $(this).val(); var id = $(".loadWindow").val();       
    $("#saveAsNewName").attr('onclick', 'saveAsNewName(\"' + newText + …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

4
推荐指数
1
解决办法
2万
查看次数

将文本居中放置在画布矩形内(按钮)

有没有动态的方法来根据高度,宽度,X,Y或矩形和文本长度居中文本?我正在试图手动计算按钮文本的X/Y坐标.

忽略我正在使用方法roundRect来制作圆边,有什么方法可以使文本居中?

ctx.lineWidth = 4;
ctx.strokeStyle = "#000000";
ctx.fillStyle = "#abc";
roundRect(ctx, 10, 10, 100, 50, 10, true);
ctx.font="20px Georgia";
ctx.fillStyle = "#000000";
var rectHeight = 50;
var rectWidth = 100;
var rectX = 10;
var rectY = 10;
ctx.fillText("Attack!",rectX+(rectWidth/2),rectY+(rectHeight/2));
Run Code Online (Sandbox Code Playgroud)

见小提琴:http://jsfiddle.net/vu7dZ/1/

javascript canvas html5-canvas

2
推荐指数
1
解决办法
7943
查看次数

使用网格中的多个不同图像填充画布形状

我正在使用画布创建一个六边形网格,并且尝试使用图像中的特定图案填充每个图块。以下代码是我正在使用的代码。

最终结果是一个六边形网格,其中的瓷砖图案全部具有相同的图像......但它不应该是这样。我认为正在发生的事情是它为每个图块的图案创建一个覆盖层,但该图像基本上覆盖了所有图块......而我最终只看到了最后一个被调用的图像。

我的印象是我的 fill() 只是填充了那个小六边形形状......而不是全部。我怎样才能做到这一点,以便每个单独的六角形都可以有自己的图像?

此代码在 for 循环中运行以创建网格。这是我的drawHex()方法。我无法想象我需要为每个图块使用全新的画布才能实现这一点。

var numberOfSides = 6,
size = hex.properties.radius,
Xcenter = hexObj.x + (hex.properties.width / 2),
Ycenter = hexObj.y + (hex.properties.height / 2);

var img = new Image();
if (hexObj.t == "grassland"){
    img.src = "/static/grass.jpg";
}else{
    img.src = "/static/mountain.jpg";
}

var pattern = context.createPattern(img, "repeat");
context.fillStyle = pattern;
context.beginPath();
context.moveTo (Xcenter +  size * Math.cos(0), Ycenter +  size *  Math.sin(0)); 
for (var i = 1; i <= numberOfSides;i += 1) {
    context.lineTo (Xcenter + …
Run Code Online (Sandbox Code Playgroud)

html javascript canvas html5-canvas

1
推荐指数
1
解决办法
1343
查看次数

标签 统计

javascript ×3

canvas ×2

html5-canvas ×2

ajax ×1

html ×1

jquery ×1