4

用户可以使用 jQuery 拖放在我的网站上进行绘画。

保存我使用的内容。

$('#mksave').click(function(){

    $("#topmenu").animateHighlight("#a7bf51", 4000);
    var div_contents = $("#print").html();
    $.post("save.php", { 'contents': div_contents });
    alert('Your painting is saved');
})

在这里,我将内容表单 div print 并通过 save.php 文件保存。

到目前为止一切正常。

我想要做的是当使用 klicks mksave (因此该函数将运行)时,用户被要求为绘画命名,之后我将使用 post 发送变量。

因此,必须有某种询问标题的警报屏幕。

问题是如何获得带有文本字段的警报屏幕并将给定的输入保存在 var 中,这样代码将如下所示:

$('#mkopslaan').click(function(){

    $("#topmenu").animateHighlight("#a7bf51", 4000);
    var div_contents = $("#print").html();

    var name = //return value from user input
    $.post("save.php", { 'contents': div_contents,  'name': name });

    alert('Your moodboard has been saved.');        
})

因此,我不希望名称文本框始终可见,而仅在单击时出现的框中。

编辑我不清楚。

用户必须输入名称。

4

2 回答 2

3

这是一个非常丑陋的解决方案,但您可以使用prompt()

var name = prompt('Give a name for your painting:');

单击时[Cancel],结果为空字符串或null. 要强制用户提供名称,您可以创建这个奇妙的循环:

var name;

do {
    name = prompt('Give a name for your painting:');
} while (!name);

更整洁的解决方案也是可能的,使用类似的东西,jQuery UI Dialog但它们需要一些实施工作;它绝对不会那么简单:)

于 2013-04-12T13:46:42.553 回答
0

你可以简单地使用var name = prompt("Name your painting")

于 2013-04-12T13:48:55.690 回答