帮助 - 发布动态数据

时间:2011-08-30 17:33:56

标签: javascript

概述:
我有一个网站,其中有人可以发布到Facebook的句子,但在每个句子中都有输入框,人们可以更改默认值。有点像数字“疯狂的自由”。

示例
我喜欢 _ _ ,我认为他 _ _

  • 下划线将是一个文本字段,默认值会在有人关注它时消失。

最终字符串:我喜欢JEN,我认为她很热。

目标
保存最终字符串并发布到Facebook(不用担心Facebook)

HTML

<span>I like</span>
<input name="post1_1" value="Tom" type="text" id="post1_1" />
<span>I think she is</span><input name="post1_2" value="Nice" type="text" id="post1_2" />

<a href="javascript:Post1()">POST NOW</a>

<span>My website is</span>
<input name="post2_1" value="Great" type="text" id="post2_1" />

<a href="javascript:Post2()">POST NOW</a>

SCRIPT

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>

<script>
var post1_1 = null;
var post1_2 = null;
var post2_1 = null;

function Post1(){
var post1_1 = $('#post1_1').val();
var post1_2 = $('#post1_2').val();
var post1 = 'I like ' + post1_1 + ' I think she is ' + post1_2;
alert(post1);
}

function Post2(){
var post2_1 = $('#post2_1').val();
var post2 = 'My website is ' + post2_1;
alert(post2);
}

</script>

我是非常新的网络任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

我认为你应该只考虑两个文本字段和当前句子的ID。与sentence_id[]field1[]field2[]一样。您可以将其视为数组:

<form action="javascript:;">

    <div id="sentence-0">
        <input type="hidden" name="sentence_id[0]" value="1" />

        John is at <input type="text" name="field1[0]" /> with <input type="text" name="field2[0]" />

        <button id="submit-sentence-0" class="submit">Send</button>
    </div>


    <div id="sentence-1">
        <input type="hidden" name="sentence_id[1]" value="2" />

        Mary is at <input type="text" name="field1[1]" /> working with <input type="text" name="field2[1]" />

        <button id="submit-sentence-1" class="submit">Send</button>
    </div>

</form>

只是一个想法,希望它可以帮助你。

答案 1 :(得分:0)

快速浏览一下,你的剧本有一些问题。

post1_1 = ('#post1_1').val();
post2_1 = ('#post2_1').val();
post2_2 = ('#post2_2').val();

我假设你在这里使用jQuery。您需要$前面的()

post1_1 = $('#post1_1').val();
post2_1 = $('#post2_1').val();
post2_2 = $('#post2_2').val();

其次,在设置发布变量后设置它们。

var post1 = 'Your are' + post1_1;
var post2 = 'You smell like' + post2_1 + 'and' + post2_2;

这将是“你是空的”(我假设应该是“你是”)。在使用变量之前,应将变量设置为输入值。

var post1_1 = $('#post1_1').val();
var post2_1 = $('#post2_1').val();
var post2_2 = $('#post2_2').val();

var post1 = 'Your are' + post1_1;
var post2 = 'You smell like' + post2_1 + 'and' + post2_2;

alert(post1);
alert(post2);

我知道这只是一个示例,但HTML中没有post2_2,HTML中的句子与JavaScript中的句子不匹配。

答案 2 :(得分:0)

我可以想出很多方法可以实现这个问题,但是这个问题措辞的方式会让人很暧昧地理解这个问题。

请考虑以下事项:

预先生成的陈述,例如:我喜欢X,我认为他是Y

XY可以是选择的下拉列表或文本框控件。

我相信有人说像文本框一样,所以html表格是合适的。

静态示例(由php / django / rails / etc处理):

<form action="/status/" method="post">
  I like <input type="text" name="noun" />
  and I think he is <input type="text" name="verb" />
  <input type="submit" value="Update" />
</form>

现在修改它以适合服务器端语言来处理请求。

现在有一个Javascript示例(我对js不是很好):

<form name="status" action="handle-data.js">
  I like <input type="text" name="noun" />
  and I think he is <input type="text" name="verb" />
  <a href="javascript: submitform()">Update</a>
</form>

<script type="text/javascript">
  function submitform(){
    document.status.submit();
  }
</script>

handle-data.js中,人们可能会操纵数据或诸如此类的东西。

请参阅http://www.javascript-coder.com/javascript-form/javascript-form-submit.phtml

了解更多Javascript示例。