0

これは私を少し厄介に駆り立てています。Javascriptリンクは、divを埋めるために関数を起動する必要があります。しかし、機能していません。

js

function showNotes(notes,id) {
    var notes = '<form action="editnotes.php" method="post"><textarea>'+notes+'</textarea><input type="hidden" name="id" value="'+id+'"><input type="submit" name="submit" value="Save Notes"></form>';
    var target = 'notebox';
    alert(id);
    document.getElementById(target).innerHTML = notes;
    return false; 
}

html

<a href='#' onclick='showNotes('hi there','143');'><small>Show Notes</small></a>
<div id="notebox"></div>
4

4 に答える 4

5

onclick属性値を二重引用符で囲み、一重引用符で文字列内の文字列を指定します。

onclick="showNotes('hi there','143');"

http://jsfiddle.net/77CKx/

于 2012-06-14T00:29:00.443 に答える
1

シュレッダーが問題の核心になりました。引用符をネストしました。ただし、インラインJSはそれほどクールではありません。スクリプトでそれを行うと、問題はなくなります。http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/

HTML

<a href="#" id="shownotes"><small>Show Notes</small></a>

JS

document.getElementById('shownotes').onclick = function() {
   showNotes('hi there', '143');
   return false;
}
于 2012-06-14T00:32:21.613 に答える
1

関数の引数に単一のアポストロフィを使用して、onclickを解除しているようです。

試す

<a href='#' onclick="showNotes('hi there','143');"><small>Show Notes</small></a>
于 2012-06-14T00:33:41.917 に答える
0

作業コード:

showNotes = function (notes,id) {
    var notes = '<form action="editnotes.php" method="post"><textarea>'+notes+'</textarea><input type="hidden" name="id" value="'+id+'"><input type="submit" name="submit" value="Save Notes"></form>';
    var target = 'notebox';
    alert(id);
    document.getElementById(target).innerHTML = notes;
    return false; 
}​


<a href='#' onclick="showNotes('hi there','143');"><small>Show Notes</small></a>
<div id="notebox"></div>​

ここで動作していることも確認できます:http: //jsfiddle.net/ZMZGk/13/

于 2012-06-14T00:41:40.483 に答える