用户可以通过 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 打印出来并通过 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.');
})

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

编辑我不清楚。

用户必须输入名称。

最佳答案

这是一个非常丑陋的解决方案,但您可以使用 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 之类的东西,但它们需要一些实现工作;它绝对不会那么简单:)

关于jquery - 发布前获取用户值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15973000/

10-12 00:06
查看更多