发布前获取用户价值

时间:2013-04-12 13:45:18

标签: jquery

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

保存我使用的内容。

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

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

这里我将内容表格打印出来并通过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.');        
})

所以我不希望名称文本框始终可见,但只能在点击中显示的框中显示。

编辑我不清楚。

用户必须输入名称。

2 个答案:

答案 0 :(得分: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);

Neater解决方案也是可行的,使用jQuery UI Dialog之类的东西,但它们需要一些实施工作;它肯定不会那么简单:)

答案 1 :(得分:0)

您只需使用var name = prompt("Name your painting")

即可